Bei der Arbeit mit Zeitdifferenzen in MySQL ist es oft nützlich, das Ergebnis in anzuzeigen ein besser lesbares Format, z. B. Tage, Stunden, Minuten und Sekunden. Dies kann eine Herausforderung sein, wenn der Zeitunterschied groß ist.
Angenommen, Sie haben eine Abfrage wie:
SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;
die einen Wert wie:
116:12:10
für 116 zurückgibt Stunden, 12 Minuten und 10 Sekunden. Um dies in ein besser lesbares Format umzuwandeln, verwenden Sie die folgende Abfrage:
SELECT CONCAT( FLOOR(HOUR(TIMEDIFF(end_time,start_time)) / 24), ' days ', MOD(HOUR(TIMEDIFF(end_time,start_time)), 24), ' hours ', MINUTE(TIMEDIFF(end_time,start_time)), ' minutes')
Ersetzen Sie end_time und start_time durch Ihre tatsächlichen Spaltennamen.
Angenommen, end_time ist „2010-01“. -06 08:46‘ und start_time ist ‚2010-01-01 12:30‘. Die obige Abfrage würde Folgendes zurückgeben:
4 days 20 hours 12 minutes
Beachten Sie, dass diese Lösung nur für Datumsunterschiede innerhalb von 35 Tagen funktioniert. Wenn Sie wissen, dass zwischen start_time und end_time mehr als 35 Tage liegen, sollten Sie stattdessen TIMESTAMPDIFF verwenden.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich die Zeitdifferenzausgabe in MySQL in das Tages-, Stunden-, Minuten- und Sekundenformat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!