我正在尝试计算两个日期时间值之间的差异。
我尝试了 datediff(s, begin,end)
和 datediff(ms, begin,end)
但我希望将差异返回为 秒,毫秒
如下所示:
4,14
63,54
最佳答案
SELECT
DATEDIFF(MILLISECOND, begin, end) / 1000,
DATEDIFF(MILLISECOND, begin, end) % 1000
FROM ...;
如果您绝对必须在 SQL 查询中将其形成为字符串(您的表示层不能这样做吗?),那么:
SELECT
CONVERT(VARCHAR(12), DATEDIFF(MILLISECOND, begin, end) / 1000)
+ ','
+ RIGHT('000' + CONVERT(VARCHAR(4), DATEDIFF(MILLISECOND, begin, end) % 1000), 3)
FROM ...;
此外,我真的希望您有比 begin
和 end
更好的列名称。
关于sql - 将 datediff 显示为秒、毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15660647/