SQL中确切小时数的两个日期之间的差异

pra*_*u R 6 sql sql-server sql-server-2008

我想计算两个日期时间变量之间的确切小时差异.小时差异应该是这样的:

1.5
2
6.25
Run Code Online (Sandbox Code Playgroud)

有人请帮忙..谢谢提前......

Dan*_*ley 24

您可以使用DATEDIFF以分钟为单位查找差异并将其转换为小时:

select datediff(mi, startdate, enddate)
Run Code Online (Sandbox Code Playgroud)

假设1.5表示1小时30分钟,您可以简单地将结果除以60:

select datediff(mi, startdate, enddate) / 60.0
Run Code Online (Sandbox Code Playgroud)


Phi*_*ade 5

保持简单,儿子。

declare @date1 datetime
declare @date2 datetime

select @date1 = GETDATE();
select @date2 = '2013-02-02 14:05'

select DATEDIFF(hh, @date2, @date1)


Results
-----------
71

(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)

  • DATEDIFF返回一个整数。因此,它将永远不会像分钟那样给出小数部分。 (5认同)