我正在尝试计算两个日期时间值之间的差异。

我尝试了datediff(s, begin,end)datediff(ms, begin,end),但是我希望将差异作为seconds,milliseconds返回,如下所示:

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 ...;

我也真的希望您拥有比beginend更好的列名。

关于sql - 将datediff显示为秒,毫秒,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15660647/

10-12 14:29