在一张表中,我以秒为单位获取时间,而在另一张表中,我有开始时间戳和结束时间戳,我需要将小时数计算为十进制数。
在这两种情况下,我都无法得到包含小数的结果,它四舍五入为整数。
表 1 - 以秒为单位的时间。示例值为 5400.
[DURATIONSECSQTY] / 3600
,ROUND([DURATIONSECSQTY] / 3600 ,2)
,CAST(ROUND([DURATIONSECSQTY] / 3600 ,2)as numeric(36,2))
所有选项返回 1 而不是 1.5 的结果。
表 2 - 开始时间戳和结束时间戳。示例值:
班次开始日期 | 换班日期 |
---|---|
22-10-03 08:00:00.000 | 22-10-03 16:06:00.000 |
DATEDIFF(ss, [SHIFTSTARTDATE], [SHIFTENDDATE])
,DATEDIFF(ss, [SHIFTSTARTDATE], [SHIFTENDDATE]) / 3600
,ROUND(DATEDIFF(ss, [SHIFTSTARTDATE], [SHIFTENDDATE]) / 3600, 2)
,CAST(ROUND(DATEDIFF(ss, [SHIFTSTARTDATE], [SHIFTENDDATE]) / 3600, 2) as numeric(36,2))
所有选项返回 8 而不是 8.1 的结果。