Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich die MySQL TIMEDIFF-Ausgabe in das Tages-, Stunden-, Minuten- und Sekundenformat?

Wie konvertiere ich die MySQL TIMEDIFF-Ausgabe in das Tages-, Stunden-, Minuten- und Sekundenformat?

DDD
DDDOriginal
2024-10-24 02:03:02945Durchsuche

How to Convert MySQL TIMEDIFF Output into Day, Hour, Minute, Second Format?

Konvertieren von Zeitdifferenzausgaben in das Format Tag, Stunde, Minute, Sekunde

Beim Berechnen der Differenz zwischen zwei Zeitwerten mit der TIMEDIFF-Funktion von MySQL Sie können Ergebnisse im Format von Stunden, Minuten und Sekunden erhalten. Es kann jedoch vorkommen, dass diese Ausgabe benutzerfreundlicher angezeigt werden muss, z. B. die Anzahl der Tage, Stunden, Minuten und Sekunden.

Bedenken Sie die folgende Abfrage:

<code class="sql">SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;</code>

Wenn die Spalten end_time und start_time Werte wie „2023-03-08 12:34:56“ und „2023-03-04 15:12:34“ enthalten, gibt die Abfrage den Zeitunterschied als zurück „105:08:22“. Obwohl dies die Gesamtdauer von 105 Stunden, 8 Minuten und 22 Sekunden anzeigt, ist dies möglicherweise nicht die bequemste Darstellung für den Benutzer.

Um diese Ausgabe in ein besser lesbares Format zu konvertieren, können Sie Folgendes verwenden: Gehen Sie wie folgt vor:

<code class="sql">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')</code>

Ersetzen Sie end_time und start_time durch Ihre spezifischen Spalten in der Abfrage. Die Ausgabe erfolgt im Format „Tage, Stunden, Minuten“. Beispielsweise würde der Zeitunterschied von „105:08:22“ als „4 Tage 9 Stunden 8 Minuten“ angezeigt.

Es ist wichtig zu beachten, dass diese Methode nur für Zeitunterschiede anwendbar ist, die innerhalb von 35 liegen Tage. Für Zeitunterschiede von mehr als einem Monat sind alternative Ansätze wie die Verwendung von TIMESTAMPDIFF() möglicherweise besser geeignet.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich die MySQL TIMEDIFF-Ausgabe in das Tages-, Stunden-, Minuten- und Sekundenformat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn