gpt4 book ai didi

sql-server - 从日期时间范围获取小时 SQL Server 2008

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

我有一个包含分支 ID 和分支开始时间和结束时间的表

  BRANCHID   SHIFTID        STARTTIME               STOPTIME        
1 1 1900-01-01 00:01:00.000 1900-01-01 23:58:00.000
4 4 1900-01-01 07:30:00.000 1900-01-01 18:00:00.000
5 5 1900-01-01 06:30:00.000 1900-01-01 19:00:00.000
6 6 1900-01-01 06:30:00.000 1900-01-01 17:00:00.000
7 7 1900-01-01 00:30:00.000 1900-01-01 18:00:00.000

现在我想获取日期范围内的小时数,例如:

BRANCHID              Hours     
1 1
1 2
1 3
. .
. .

结果表包含分支 ID 和时间间隔小时数。像分支 1 开始时间是 00:01:00 - 23:58:00。比分支 id 1 时间间隔包含以下时间 1,2,3,4,5,6 等等..

最佳答案

select 
branchid from table t1
cross apply
(
select n from numbers
where n >=datepart(hour,starttime) and n<=datepart(hour,stoptime)
) b

下面是所用数字表的一些链接..

1. http://dataeducation.com/you-require-a-numbers-table/

2。 https://dba.stackexchange.com/questions/11506/why-are-numbers-tables-invaluable

关于sql-server - 从日期时间范围获取小时 SQL Server 2008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39703973/

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