这对于一些琐碎的事情来说变得非常复杂。为什么不尝试简单地进行以下操作:
left(convert(varchar,current_timestamp,108),5)
该函数将日期时间值转换为24小时制的小时和分钟的字符串表示形式,因此例如下午2:37的时间将被转换为字符串值
14:37
。一旦您完成这个步骤,那么...
select time_hhmm = left(convert(varchar,BeginMinute,108),5) ,
total = sum(Qtde)
from tr_CustomerCount
where BeginMinute > '5/22/2013 00:00:00 AM'
and BeginMinute < '6/22/2013 12:00:00 AM'
group by left(convert(varchar,BeginMinute,108),5)
非常容易阅读。
根据OP的评论,修改为仅显示每小时的HH:00:
select time_hhmm = right( '0'+datename(hour,BeginMinute) , 2 ) + ':00 ,
total = sum(Qtde)
from tr_CustomerCount
where BeginMinute > '5/22/2013 00:00:00 AM'
and BeginMinute < '6/22/2013 12:00:00 AM'
group by datename(hour,BeginMinute)
DATEPART(hh, BeginMinute)
来获取小时数,你看过DATEPART
可以接受的不同参数了吗? - LittleBobbyTables - Au Revoir