这是我的查询:
SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;
Run Code Online (Sandbox Code Playgroud)
这给了我:
116:12:10
Run Code Online (Sandbox Code Playgroud)
意思是116小时12分10秒.
相反,我希望它说4天20小时,12分钟等
Ric*_*iwi 31
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')
Run Code Online (Sandbox Code Playgroud)
在我的示例中,使用end_time和start_time作为固定日期时间值
根据以下两条评论,此解决方案仅适用于35天内的日期差异.如果您知道开始和结束之间有超过35天,即一个月内的差异,请不要使用它.使用TIMESTAMPDIFF的其他答案将起作用.
小智 14
SELECT
CONCAT(
TIMESTAMPDIFF(day,'2001-01-01 00:00:00','2001-01-02 23:10:00') , ' dagen ',
MOD( TIMESTAMPDIFF(hour,'2001-01-01 00:00:00','2001-01-02 23:10:00'), 24), ' uren ',
MOD( TIMESTAMPDIFF(minute,'2001-01-01 00:00:00','2001-01-02 23:10:00'), 60), ' minuten '
)
Run Code Online (Sandbox Code Playgroud)