对于一些微不足道的事情来说,这一切都非常复杂。你为什么不简单地尝试:
left(convert(varchar,current_timestamp,108),5)
它将 datetime 值转换为 24 小时制的小时和分钟的字符串表示形式,因此例如下午 2:37 的时间将转换为字符串 value 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)