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'