我希望将24小时分成小时范围,如
0000-0001,0001-0002 ....
并将其保存在表格中
Time Range
0000-0001
0001-0002
这就是我试过的
RIGHT ('00' + CONVERT(VARCHAR, DATEPART(hh,time)), 2) + '-' + RIGHT('00' + CONVERT(VARCHAR, DATEPART(hh,time) + 1), 2)
答案 0 :(得分:0)
小时的递归CTE,以及输出的一些简单的字符串操作:
with hrs (time)
AS
(
SELECT 0
UNION ALL
SELECT time+1
FROM hrs WHERE time<23
)
select time,
RIGHT ('0000' + CONVERT(VARCHAR, time), 4) + '-' + RIGHT('0000' + CONVERT(VARCHAR, time + 1), 4)
from hrs
输出:
0 0000-0001 1 0001-0002 2 0002-0003 3 0003-0004 4 0004-0005 5 0005-0006 6 0006-0007 7 0007-0008 8 0008-0009 9 0009-0010 10 0010-0011 11 0011-0012 12 0012-0013 13 0013-0014 14 0014-0015 15 0015-0016 16 0016-0017 17 0017-0018 18 0018-0019 19 0019-0020 20 0020-0021 21 0021-0022 22 0022-0023 23 0023-0024