sql - 减去时间戳

标签 sql mysql timestamp

我认为这会是一件非常简单的事情,但我很难找到任何答案!

我有一个支持表,其中包含 added_onclosed_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/

相关文章:

mysql - 使用 mysql 查询检查空结果

PHP - 在 mysql 中存储 unix 时间戳(避免 time_t 溢出)

具有多列的 SQL 案例

sql - SQLite UPDATE语句中的相关子查询(或等效查询)?

php - 在下拉列表中显示预定义值

python - 将 SQL 数据加载到 iPython 中

php - preg_replace & mysql_real_escape_string 问题清理 SQL

php - 欧洲语言的 PHP 和 MySQL 编码错误

mysql - 如何修复 mySQL 查询以查找与每个日期的总计数(包括零)映射的所有月份日期?

Python从时间戳获取小时