我有一个问题,弄清楚我认为是一个简单的查询。 我有一个包含两个字段的表(EntryDateTime,Message),您可以猜测记录具有监视应用程序的时间日期戳的特定消息。
我希望得到每天所有类型消息的计数,但是邮票的时间部分(在其他所有需要的时候)给我带来了问题。
我当时想做点什么,
SELECT COUNT(Message)
FROM DBName.dbo.TableName
WHERE Message = 'LoginFailed'
GROUP BY EntryDateTime
我正在寻找的是输出类似
2009-06-26,142
2009-06-27,259
2009-06-28,57
当然这给了我一个更像
的消息输出2009-06-26 00:01:01,11
2009-06026 00:01:02,12
获取此查询的时间戳的任何帮助都将非常有用。我不想手动输入任何日期范围,因为此查询将搜索多年的日志记录,我希望不为BETWEEN
类型查询输入365个日期范围。
答案 0 :(得分:2)
使用这样的东西怎么样:
SELECT COUNT (Message), CONVERT(DATETIME, CONVERT(CHAR(10), EntryDateTime, 101))
FROM DBName.dbo.TableName
WHERE Message = 'LoginFailed'
GROUP BY CONVERT(DATETIME, CONVERT(CHAR(10), EntryDateTime, 101))
答案 1 :(得分:0)
试试这个:
SELECT DATEADD(dd, DATEDIFF(d, 0, Getdate()), 0)
用您的列名替换Getdate()。
您还希望查看此前StackOverflow question以及此previous question