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