Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL konvertiert die timediff-Ausgabe in das Format Tag, Stunde, Minute, Sekunde

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')

Verwenden Sie Ihre end_time und start_time für die festen datetime-Werte in meinem Beispiel

Gemäß den beiden Kommentaren unten funktioniert diese Lösung nur für Datumsunterschiede innerhalb von 35 Tagen. Wenn Sie wissen, dass zwischen Start und Ende mehr als 35 Tage liegen, also Unterschiede über einen Monat, verwenden Sie es nicht. Andere Antworten hier mit TIMESTAMPDIFF funktionieren.