In MariaDB DATEDIFF() ist eine integrierte Datums- und Zeitfunktion, die die Differenz zwischen zwei Daten in Tagen zurückgibt.
Es akzeptiert zwei Argumente, die beide Datums- oder Datumszeit-Ausdrücke sind. Dann wird das zweite Datum vom ersten subtrahiert.
Syntax
Die Syntax lautet wie folgt:
DATEDIFF(expr1,expr2)
Es gibt dann expr1 - expr2 zurück .
Beispiel
Hier ist ein Beispiel:
SELECT DATEDIFF('2030-01-25', '2030-01-20'); Ergebnis:
Hier ist es noch einmal, aber mit vertauschten Daten:
SELECT DATEDIFF('2030-01-20', '2030-01-25'); Ergebnis:
Datum/Uhrzeit-Werte
Hier ist ein Beispiel, das datetime-Werte verwendet:
SELECT DATEDIFF('2030-01-25 00:00:00', '2030-01-20 23:59:59'); Ergebnis:
Hier ist ein weiteres Beispiel:
SELECT DATEDIFF('2030-01-25 00:00:00', '2030-01-25 23:59:59'); Ergebnis:
In diesem Fall war es zwar fast ein ganzer Tag, aber nicht ganz, und daher ist das Ergebnis 0 .
Aktuelles Datum
Hier übergeben wir NOW() als zweites Argument:
SELECT
NOW(),
DATEDIFF('2030-01-20', NOW()); Ergebnis:
+---------------------+-------------------------------- -------+| JETZT() | DATEDIFF('2030-01-20', NOW()) |+---------------------+------------ -------------------+| 2021-05-10 10:03:08 | 3177 |+---------------------+-------------------- ------+ In diesem Fall liegen zwischen jetzt und dem zweiten Datum 3.177 Tage.
Ungültige Argumente
Wenn ungültige Argumente übergeben werden, DATEDIFF() gibt null zurück :
SELECT DATEDIFF('Homer', 'Simpson'); Ergebnis:
+------------------------------+| DATEDIFF('Homer', 'Simpson') |+------------------------------+| NULL |+------------------------------+ Fehlendes Argument
Aufruf von DATEDIFF() die falsche Anzahl von Argumenten oder das Fehlen von Argumenten führt zu einem Fehler:
SELECT DATEDIFF(); Ergebnis:
FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion 'DATEDIFF'
Und:
SELECT DATEDIFF('2030-05-21'); Ergebnis:
FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion 'DATEDIFF'