Umwandeln der TIMEDIFF-Ausgabe in ein für Menschen lesbares Tages-, Stunden-, Minuten- und Sekundenformat in MySQL
Stellen Sie sich der Herausforderung, die Ausgabe von zu konvertieren Um TIMEDIFF in ein benutzerfreundlicheres Format umzuwandeln, das den Zeitunterschied in Tagen, Stunden, Minuten und Sekunden anzeigt, haben zahlreiche MySQL-Benutzer nach einer Lösung gesucht. Um dieses Problem zu beheben, schauen wir uns die bereitgestellte Abfrage genauer an:
SELECT TIMEDIFF(end_time, start_time) AS "total" FROM `metrics`;
Diese Abfrage subtrahiert mühelos start_time von end_time und ergibt die Gesamtzeitdifferenz als Spalte „total“. Allerdings wird die Ausgabe in einem Rohformat dargestellt, was die Interpretation auf einen Blick erschwert.
Um dies zu beheben, nutzt der vorgeschlagene Ansatz die CONCAT-Funktion, um die Bestandteile der Zeitdifferenz zu einem Menschen zusammenzufügen -lesbare Zeichenfolge. Die folgende SQL-Anweisung führt diese Transformation durch:
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 die Platzhalterwerte „end_time“ und „start_time“ durch die entsprechenden Spaltennamen in Ihrer Metriktabelle.
Diese Lösung extrahiert geschickt Stunden aus dem TIMEDIFF-Ergebnis und rechnet sie bei Bedarf in Tage um. Anschließend werden Stunden und Minuten angehängt, um die gewünschte Ausgabe zu erhalten. Beachten Sie, dass dieser Ansatz für Zeitunterschiede innerhalb eines Zeitraums von 35 Tagen geeignet ist. Für Szenarien mit längeren Zeiträumen sind alternative Lösungen mit TIMESTAMPDIFF möglicherweise besser geeignet.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich die TIMEDIFF-Ausgabe in MySQL in das Tages-, Stunden-, Minuten- und Sekundenformat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!