查找从开始时间到结束时间的确切时间

问题描述 投票:0回答:1
LOCATIONDISPLAY LOCATIONTYPETEXT    CAPACITY    DISPLAYTIME START_TIME  END_TIME
B--209             FLAT CLASSROOM     80              08:45 - 09:40    08:45     09:40
B--209             FLAT CLASSROOM     80              09:45 - 10:40    09:45     10:40
B--209             FLAT CLASSROOM     80              14:00 - 14:55    14:00     14:55
B--209             FLAT CLASSROOM     80              14:00 - 15:55    14:00     15:55
B--209             FLAT CLASSROOM     80              16:15 - 18:10    16:15     18:10

我必须计算 08:45 到 18:10 之间的准确时间。在本例中为 6 小时。我算了一下,是8。

sql sql-server sql-server-2008
1个回答
0
投票

您想使用什么逻辑从样本数据中获取 6 小时?
无论我尝试什么,7 小时 30 分钟是我能做到的最少时间。

declare @start datetime2(0) = '20240101 08:45:00'
declare @end datetime2(0) = '20240101 16:15:00'

select @start,
       @end,
       datepart(hour, @start),
       datepart(hour, @end),
       datepart(hour, @end) - datepart(hour, @start),
       datediff(hour, @start, @end),
       datediff(minute, @start, @end),
       datediff(minute, @start, @end) / 60,
       datediff(minute, @start, @end) / 60.0
第一栏 第2栏 第3栏 第4栏 第5栏 第6栏 第7栏 第8栏 第9栏
2024-01-01 08:45:00 2024-01-01 16:15:00 8 16 8 8 450 7 7,5
© www.soinside.com 2019 - 2024. All rights reserved.