我认为这会是一件非常简单的事情,但我很难找到任何答案!
我有一个支持表,其中包含 added_on
和 closed_on
字段,用于跟踪支持工单何时打开和关闭。
我想运行一个 (closed_on - added_on)
查询来显示工单打开的持续时间。这两个字段都是 timestamp
格式。这并不像我想象的那么简单......
理想情况下,最终输出将是 X 天 Y 小时 Z 分钟
,但我很乐意只获得总秒数或其他信息,我当然可以从那里开始。
示例数据:
[id] [added_on] [closed_on]
1 2010-01-01 00:10:20 2010-01-02 00:10:20
1 2010-01-03 00:00:01 2010-01-03 13:30:01
最佳答案
使用:
SELECT CONCAT(DATEDIFF(closed_on, added_on),
' days ',
SUBSTRING_INDEX(TIMEDIFF(closed_on, added_on), ':', 1),
' hours ',
SUBSTR(TIMEDIFF(closed_on, added_on), INSTR(TIMEDIFF(closed_on, added_on), ':')+1, 2),
' minutes')
根据您的示例数据,这给了我:
0 days 00 hours 00 minutes
0 days 13 hours 30 minutes
关于sql - 减去时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543938/