我在将分钟转换为小数时遇到了一些问题,即使我已经查看了 SO 的其他回复。
select cast(datediff(minute, min(start_time), min(complete_time)) as decimal (10,10))
from TRACKED_OBJECT_HISTORY TOH1
where TOH1.op_name = 'Assembly'
结果返回,但我总是得到 2.00、4.00、5.00 之类的结果,而不是 1.86、3.99、5.03 之类的数字。我猜它是在事后转换(我也试过转换功能无济于事)。有什么想法吗?
最佳答案
Datediff 返回一个整数,而不是 float 或数字。
为了得到你想要的,也许你应该在几秒钟内做 diff 然后除法:
select cast(datediff(second, min(start_time), min(complete_time))/60.0 as decimal (10,10))
from TRACKED_OBJECT_HISTORY TOH1 where TOH1.op_name = 'Assembly'
关于sql - DATEDIFF 将分钟转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11894202/