SQL计算两个日期之间的分钟数,时间范围在两个时间之间。

3
我有一个表格,其中包含两个日期时间(StartDateTime和EndDateTime),我想计算它们之间的分钟数。
现在我知道可以使用DATEDIFF()函数来获取这个值,但我只想获取两个TIME(0)值之间的分钟数。
例如:
  StartDateTime     | EndDateTime         | TimeStart | TimeEnd
2017-06-01 03:00:00 | 2017-06-01 23:00:00 | 06:00:00  | 20:00:00

对于上面的例子,我会得到:DATEDIFF(minute, StartDateTime, EndDateTime) = 1200
但是,我只想得到落在TimeStartTimeEnd之间的分钟数,这将是840。
我该如何编写查询以获得此结果?

请在您的问题中标记您正在使用的数据库。 - Gordon Linoff
1个回答

8
在SQL Server中,DATEDIFF()是基于时间值运算的,因此您可以执行以下操作:
DATEDIFF(minute, TimeStart, TimeEnd)

您可以将此作为演示运行:
select DATEDIFF(minute, cast('06:00:00' as time), cast('20:00:00' as time))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接