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

原文地址:https://www.cnblogs.com/andy-2014/p/11427998.html