3

我只需要取两个 datetime 对象,减去它们以获得以小时为单位的时差。我不关心计算中的日期部分。如果你有 1/1/02 11:00:00 - 1/1/02 9:00:00 那么我会得到 2 作为结果。如果差值为 30 或更大,则舍入到 1。我使用的时间对象是当前时间和包含另一个日期时间对象的列。

4

2 回答 2

2

在 SQL Server 2008 中,您可以使用以下TIME数据类型:

SELECT ABS(ROUND(DATEDIFF(MI,CONVERT(TIME,date1), CONVERT(TIME,date2))/60.0,0))
于 2013-02-13T20:42:27.180 回答
0

如果时间方向很重要,请使用:

SELECT DATEDIFF(hour, <date1>, <date2>) % 24...

或者,如果您只想要绝对时差:

SELECT ABS(DATEDIFF(hour, <date1>, <date2>) % 24)...
于 2013-02-13T20:40:44.067 回答