sql计算两个日期之间的分钟数

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。

我该如何编写查询来获得这个?

Gor*_*off 8

在 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)