计算mysql中两个日期时间之间的差异

时间:2012-08-30 10:37:12

标签: mysql sql database

我希望查询计算两个日期时间字段之间的差异

  • 计算总时间

  • 两个日期时间字段在同一个表中 如 start_time和stop_time

  • 我想计算总开始持续时间和停止持续时间

3 个答案:

答案 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 ......