我有一个包含两个DateTimes(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
。
但是,我希望只获得介于TimeStart
和TimeEnd
之间的分钟数,即840分。
如何编写查询以获取此信息?
答案 0 :(得分:1)
在SQL Server中,DATEDIFF()
适用于时间值,因此您可以执行以下操作:
DATEDIFF(minute, TimeStart, TimeEnd)
您可以将其作为示范运行:
select DATEDIFF(minute, cast('06:00:00' as time), cast('20:00:00' as time))