我想将时间转换为小时范围。我有两个这样的列
date time
2008-01-02 00:05
2008-01-02 00:15
2008-01-02 01:10
2008-01-02 01:15
2008-01-02 02:15
2008-01-02 02:25
现在,我怎样才能得到这样的结果
date hour_range
2008-01-02 00-01
2008-01-02 00-01
2008-01-02 01-02
2008-01-02 01-02
2008-01-02 02-03
2008-01-02 02-03
提前致谢
答案 0 :(得分:3)
可以获得该输出:
SELECT
colDate,
RIGHT ('00' + CONVERT(VARCHAR, DATEPART(hh, colTime)), 2) + '-' + RIGHT('00' + CONVERT(VARCHAR, DATEPART(hh, colTime) + 1), 2) AS timeRange
FROM
tblTest
但我建议,在表示层中创建一个像应用程序一样的范围。我不认为这应该在数据库中完成
答案 1 :(得分:1)
这样的事情应该有效:
SELECT DATEPART(hour,time) thishour, DATEPART(hour,DATEADD(hh,1,time)) nexthour from record order by datepart(hour,time)