如何将以下代码转换为float或decimal类型?
SELECT DATEDIFF(ss, StartTime, GETDATE()) + '.' +
DATEDIFF(ms, StartTime, GETDATE())
答案 0 :(得分:3)
这就是我需要的。 CONVERT(float, DATEDIFF(ms, StartTime, GETDATE()) / 1000.0)
我的问题的代码是完全错误的,因为DATEDIFF(ms, StartTime, GETDATE())
返回两个日期之间的总毫秒数,而不是因为我认为只有毫秒部分的差异。
如果我在两个表达式中使用DATEPART
而不是DATEDIFF
,我的问题代码就可以了。
DATEPART(ss, GETDATE()) - DATEPART(ss, @StartTime) + '.'
+ DATEPART(ms, GETDATE()) - DATEPART(ms, @StartTime)