如何从日期差异将 00:45:00 转换为 0.45 或 01:45:00 到 1.45。我使用了以下查询
select cast(datepart(hour, '01:45:00')+datepart(minute, '01:45:00') / 100.00 as decimal(7,4));
但是当没有得到与上面相同的不同结果时
选择 cast(datediff(HOUR,'00:00:00','01:45:00')+datediff(minute,'00:00:00','01:45:00') / 100.00 as decimal(7,4));
第一个答案似乎是您想要的。
如果你拆开第二个表达式,你会发现:
datediff(minute,'00:00:00','01:45:00')
计算结果为 105 而不是 45。
如果你想在日期部分使用算术,只需使用分钟:
cast(datediff(minute,'00:00:00','01:45:00') / 60 +
(datediff(minute,'00:00:00','01:45:00') % 60 / 100.0
) as decimal(7, 4)
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句