Das MySQL TIMEDIFF()
Die Funktion gibt die Differenz zwischen zwei Zeit- oder Datumszeitwerten zurück.
Es funktioniert so, dass Sie die beiden zu vergleichenden Werte und TIMEDIFF()
angeben subtrahiert den zweiten Wert vom ersten und gibt dann das Ergebnis als Zeitwert zurück.
Syntax
Die Syntax lautet wie folgt:
TIMEDIFF(expr1,expr2)
Wobei expr1
und expr2
sind die beiden zu vergleichenden Werte. Der Rückgabewert ist expr2
von expr1
subtrahiert .
Einfaches Beispiel
Hier ist ein Beispiel zur Veranschaulichung.
SELECT TIMEDIFF('11:35:25', '10:35:25');
Ergebnis:
+----------------------------------------------+| TIMEDIFF('11:35:25', '10:35:25') |+------------------------------ ----+| 01:00:00 |+--------------------------------+
Vergangene Zeit
Der Zeitwert kann die verstrichene Zeit darstellen, ist also nicht auf weniger als 24 Stunden beschränkt.
SELECT TIMEDIFF('500:35:25', '10:35:25');
Ergebnis:
+-----------------------------------+| TIMEDIFF('500:35:25', '10:35:25') |+------------------------------ -----+| 490:00:00 |+-----------------------------------+
Negativer Zeitunterschied
Wenn der zweite Wert größer als der erste ist, erhalten Sie einen negativen Wert für die Zeitdifferenz. Dies ist vollkommen gültig.
SELECT TIMEDIFF('10:35:25', '500:35:25');
Ergebnis:
+-----------------------------------+| TIMEDIFF('10:35:25', '500:35:25') |+------------------------------ -----+| -490:00:00 |+-----------------------------------+
Datum/Uhrzeit-Werte
Hier ist ein Beispiel, das datetime-Werte als Argumente verwendet.
SELECT TIMEDIFF('2021-02-01 10:35:25', '2021-01-01 10:35:25');
Ergebnis:
Beachten Sie, dass beide Argumente vom gleichen Typ sein müssen. Sie können also keinen Zeitwert für den ersten und einen Datetime-Wert für den zweiten haben (und umgekehrt).
Beachten Sie auch, dass der Zeitdatentyp nur im Bereich -838:59:59 liegen kann zu 838:59:59 . Daher funktioniert Folgendes nicht:
SELECT TIMEDIFF('2000-01-01 10:35:25', '2021-01-01 10:35:25');
Ergebnis:
In diesem Fall erhalten wir ein falsches Ergebnis und eine Warnung.