27,579
社区成员
发帖
与我相关
我的任务
分享
declare @beg_time datetime,@end_time datetime
set @beg_time='2010-03-12 12:00:00'
set @end_time='2010-03-12 18:00:00'
select
SUM_col=SUM(sum_col)
from tb
where [time] between @beg_time and @end_time
group by DATEDIFF(HOUR,'1900-01-01',[time])
--利用辅助表
declare @b as datetime
declare @e as datetime
select @b='2010-03-12 12:00:00',@e='2010-03-12 18:00:00'
select dateadd(hh,number,@b) as [datetime]
from master..spt_values
where type='p' and dateadd(hh,number,@b) > @b and dateadd(hh,number,@b)<=@e
datetime
-----------------------
2010-03-12 13:00:00.000
2010-03-12 14:00:00.000
2010-03-12 15:00:00.000
2010-03-12 16:00:00.000
2010-03-12 17:00:00.000
2010-03-12 18:00:00.000
(6 行受影响)
dateadd
between and