我只需要拍摄两个日期时间对象,减去它们以获得以小时为单位的时差。我不关心计算中的日期部分。如果您有1/1/02 11:00:00 - 1/1/02 9:00:00那么我会得到2作为结果。如果差异为30或更大,则舍入为1.我正在使用的时间对象是当前时间和包含其他日期时间对象的列。
答案 0 :(得分:2)
在SQL Server 2008中,您可以使用TIME
数据类型:
SELECT ABS(ROUND(DATEDIFF(MI,CONVERT(TIME,date1), CONVERT(TIME,date2))/60.0,0))
答案 1 :(得分:0)
如果时间问题很重要,请使用:
SELECT DATEDIFF(hour, <date1>, <date2>) % 24...
或者如果您只想要绝对时差:
SELECT ABS(DATEDIFF(hour, <date1>, <date2>) % 24)...