我正在使用以下 SQL 查询来查找两个日期时间字段之间的差异,此查询以小时为单位返回时间,但我想要以小时、分钟和秒为单位的时间。
Convert(decimal(18,2),(select datediff(hh,JobScreen.[DateTimeOn],
JobScreen.[DateTimeOff]))) as [ActualHrs]
请建议选项。
提前致谢
我正在使用以下 SQL 查询来查找两个日期时间字段之间的差异,此查询以小时为单位返回时间,但我想要以小时、分钟和秒为单位的时间。
Convert(decimal(18,2),(select datediff(hh,JobScreen.[DateTimeOn],
JobScreen.[DateTimeOff]))) as [ActualHrs]
请建议选项。
提前致谢
如果您想要集体使用它,为什么将其投射为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 |