MySQL将timediff输出转换为日,时,分,秒格式

这是我的查询:

SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;

这给了我:

116:12:10

表示116小时12分10秒。

相反,我想说的是4天20小时12分钟等

回答:

SELECT CONCAT(

FLOOR(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')) / 24), ' days ',

MOD(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), 24), ' hours ',

MINUTE(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), ' minutes')

在我的示例中,将end_time和start_time用于固定的datetime值

根据以下两条评论,此解决方案仅适用于35天内的日期差异。如果您知道开始到结束之间有35天以上的时间,即一个月内有差异,请不要使用它。在这里使用TIMESTAMPDIFF的其他答案将起作用。

以上是 MySQL将timediff输出转换为日,时,分,秒格式 的全部内容, 来源链接: utcz.com/qa/416351.html

回到顶部