我希望查询计算两个日期时间字段之间的差异
计算总时间
两个日期时间字段在同一个表中 如 start_time和stop_time
答案 0 :(得分:7)
您可以使用MySQL的UNIX_TIMESTAMP()
函数将日期时间表达式转换为自UNIX纪元以来的秒数,然后获取所有差异的总和将产生以秒为单位的总持续时间:
SELECT SUM(UNIX_TIMESTAMP(stop_time) - UNIX_TIMESTAMP(start_time)) FROM my_table
在sqlfiddle上查看。
请注意,UNIX_TIMESTAMP()
仅限于'1970-01-01 00:00:01'
UTC到'2038-01-19 03:14:07'
UTC的范围。
答案 1 :(得分:5)
<强>提示:强>
SELECT TIMESTAMPDIFF(SECOND,'2012-12-30 12:01:01','2012-12-31 10:02:00');
-- result: 79259 the difference in seconds with the time.
有关DateTime
功能的详细信息,请参阅this链接。
答案 2 :(得分:3)
试试这个
SELECT TIMEDIFF(STOP_TIME - START_TIME) AS INTERVAL
FROM ......