【发布时间】:2016-09-15 13:56:45
【问题描述】:
如何让 timestamphour 列仅显示 5 AM、6 AM 等时间?
SELECT dateadd(hour, datediff(hour , 0, callstartdt), 0) as TimeStampHour, Count(*) as count
FROM table_one
where month(CallStartDt)=5 and day(callstartdt) = 16
GROUP BY dateadd(hour, datediff(hour, 0, callstartdt), 0)
ORDER BY dateadd(hour, datediff(hour, 0, callstartdt), 0);
TimeStampHour count
2016-05-16 05:00:00.000 1
2016-05-16 06:00:00.000 4
2016-05-16 07:00:00.000 4
2016-05-16 08:00:00.000 113
2016-05-16 09:00:00.000 110
2016-05-16 10:00:00.000 131
我正在使用 sql-2012。
【问题讨论】:
-
选择演员表(当 DATEPART(HOUR, GETDATE()) > 12 然后 DATEPART(HOUR, GETDATE()) - 12 否则 DATEPART(HOUR, GETDATE()) 以 varchar(2) 结尾的情况) +' ' + case when DATEPART(HOUR, GETDATE()) > 12 then 'PM' else 'AM' end
-
@kostya 谢谢,我只发布了它的订单时间
-
您可以添加另一个字段来选择、分组、排序,如 DATEPART(HOUR, callstartdt) 只需确保它是排序中的第一个字段
标签: sql sql-server-2012