gpt4 book ai didi

sql - 如何在 SQL Server 中生成两个小时之间的小时数?

转载 作者:行者123 更新时间:2023-12-02 05:41:05 25 4
gpt4 key购买 nike

我想生成一个以 30 分钟为间隔的小时列表。

例如一个员工在 09:00 上类,18:00 下类,所以我想生成这个:

Hours
-----
09:00
09:30
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00

我怎样才能生成这个?谢谢。

最佳答案

使用递归 CTE,您可以实现这个结果。

尝试下面的查询-

DECLARE @timeFrom TIME = '09:00'
DECLARE @timeTo TIME = '18:00'

;with SourceHrs
as
(
select @timeFrom as [Hours]
UNION ALL
SELECT DATEADD(MINUTE, 30, [Hours]) from SourceHrs WHERE [Hours] < @timeTo
)
SELECT CONVERT(VARCHAR(5),Hours,108) FROM SourceHrs

结果

Hours
-------
09:00
09:30
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00

关于sql - 如何在 SQL Server 中生成两个小时之间的小时数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36473581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com