SQL Server按时间分段统计数据
--按小时查询 select DATEADD(HOUR, DATEDIFF(HOUR,0,[Date]), 0) as EnterDate,sum([count]) FROM Table1 where roleid = 3 and [Date] > '2012-7-26 20:00:00.00' group by DATEADD(HOUR, DATEDIFF(HOUR,0,[Date]), 0) order by [Date] desc
SQL Server DATEADD() 函数
DATEADD() 函数在日期中添加或减去指定的时间间隔。
DATEADD(datepart,number,date)
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。datepart 参数是时间的单位。
SQL Server DATEDIFF() 函数
DATEDIFF() 函数返回两个日期之间的时间间隔。
DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
示例:
1 SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate
结果为1
2 SELECT DATEDIFF(hour,'2008-12-30 01:00:00','2008-12-30 01:04:00') AS DiffDate
结果为0
3 SELECT DATEDIFF(minute,'2008-12-30 01:00:00','2008-12-30 01:04:00') AS DiffDate
结果为4