一尘不染

显示datediff为秒,毫秒

sql

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

我尝试过datediff(s, begin,end)datediff(ms,begin,end)但是我希望seconds,milliseconds像下面这样返回差额:

4,14
63,54

阅读 167

收藏
2021-03-17

共1个答案

一尘不染

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

2021-03-17