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

时间:2017-06-04 15:35:39

标签: sql datetime time sql-server-2012 datediff

我有一个包含两个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

但是,我希望只获得介于TimeStartTimeEnd之间的分钟数,即840分。

如何编写查询以获取此信息?

1 个答案:

答案 0 :(得分:1)

在SQL Server中,DATEDIFF()适用于时间值,因此您可以执行以下操作:

DATEDIFF(minute, TimeStart, TimeEnd)

您可以将其作为示范运行:

select DATEDIFF(minute, cast('06:00:00' as time), cast('20:00:00' as time))