分组按24小时和星期几 - 时间间隔

时间:2013-04-09 09:22:05

标签: sql sql-server-2008

我知道这是一个常见的问题,但我找不到与我的情况相符的东西。所以我们走了。

我有一个名为RECORDED_ENTRIES的表,其中包含列ID(int)和CreateDate(datetime)。

我想以24小时为单位按小时对数据进行分组,无论实际日期如何。

例如,我希望输出为:

00:00 - 2
01:00 - 3
02-00 - 12
....
23:00 - 1

目的是为图表创建数据,以按小时显示记录的条目

我需要将数据分组为Day。

由于

2 个答案:

答案 0 :(得分:2)

你想要的是:

GROUP BY DATEPART(HH,CreateDate)

SQLFiddle

答案 1 :(得分:0)

您可以在sql server中使用CONVERT()函数,其作用类似于CAST(),但您可以使用样式! convert(varchar(2),, 108)将使用108代码,即HH:MM:SS。 查看http://www.sql-server-helper.com/tips/date-formats.aspx

示例:

DECLARE@d DATETIME= '2013-03-02 19:45';
SELECT
@d AS dt
,CONVERT(VARCHAR(2),@d,108) AS theHour