0

我正在使用以下 SQL 查询来查找两个日期时间字段之间的差异,此查询以小时为单位返回时间,但我想要以小时、分钟和秒为单位的时间。

Convert(decimal(18,2),(select datediff(hh,JobScreen.[DateTimeOn], 
                       JobScreen.[DateTimeOff]))) as [ActualHrs]

请建议选项。

提前致谢

4

1 回答 1

1

如果您想要集体使用它,为什么将其投射为decimal(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 |
于 2012-12-03T06:44:58.873 回答