Sql server SQL中的DateDiff

Sql server SQL中的DateDiff,sql-server,Sql Server,我使用下面的SQL查询来查找两个datetime字段之间的差异,此查询以小时为单位返回时间,但我希望时间以小时、分钟和秒为单位 Convert(decimal(18,2),(select datediff(hh,JobScreen.[DateTimeOn], JobScreen.[DateTimeOff]))) as [ActualHrs] 请建议选择 提前感谢如果您想要它的集合,为什么要将它转换为只表示一个值的十进制(18,2) JobScre

我使用下面的SQL查询来查找两个datetime字段之间的差异,此查询以小时为单位返回时间,但我希望时间以小时、分钟和秒为单位

Convert(decimal(18,2),(select datediff(hh,JobScreen.[DateTimeOn], 
                       JobScreen.[DateTimeOff]))) as [ActualHrs]
请建议选择


提前感谢

如果您想要它的集合,为什么要将它转换为只表示一个值的
十进制(18,2)

JobScreen.[DateTimeOff] - JobScreen.[DateTimeOn] as TimeSpan
这将适用于不到一天(24小时)的时间跨度

例如:

declare @dt datetime
declare @dt2 datetime
set @dt = '20121202 11:43:54'
set @dt2 = '20121202 13:23:23'
select @dt2 - @dt TimeSpan,
       convert(char(8), @dt2 - @dt, 8) TimeSpanVarchar

|           TIMESPAN | TIMESPANVARCHAR |
-----------------------------------------
| 1900-01-01 01:39:29|        01:39:29 |

所以多用60分和3600秒来计算小时?最好在你的问题中包含样本数据和期望的结果。