Nic*_*ell 3 sql time datetime datediff sql-server-2012
我有一个包含两个日期时间(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
Run Code Online (Sandbox Code Playgroud)
对于上面的例子,我会得到:
DATEDIFF(minute, StartDateTime, EndDateTime) = 1200。
但是,我只想获取TimeStart和之间的分钟数TimeEnd,即 840。
我该如何编写查询来获得这个?
在 SQL Server 中,DATEDIFF()适用于时间值,因此您可以执行以下操作:
DATEDIFF(minute, TimeStart, TimeEnd)
Run Code Online (Sandbox Code Playgroud)
您可以运行它作为演示:
select DATEDIFF(minute, cast('06:00:00' as time), cast('20:00:00' as time))
Run Code Online (Sandbox Code Playgroud)