DATEDIFF
Gibt die Anzahl der Tage zwischen zwei Daten zurück.
MySQL 8.1
DATEDIFF(date1, date2)Parameter
- date1DATE
- Datum, von dem date2 abgezogen wird
- date2DATE
- Abzuziehendes Datum
Rückgabewert
Ganze Zahl der Tage (date1 minus date2), negativ, wenn date1 früher liegt; NULL, wenn mindestens ein Argument NULL ist
Beispiele
Unterschied in Tagen
MySQL 8.1
SELECT DATEDIFF('2022-12-05', '2022-12-01') AS days;Uhrzeit wird ignoriert
MySQL 8.1
SELECT DATEDIFF('2022-12-05 23:59:59', '2022-12-01 00:00:01') AS days;Nächte pro Buchung
MySQL 8.1
SELECT id,
start_date,
end_date,
DATEDIFF(end_date, start_date) AS nights
FROM Reservations;Details
Die Uhrzeit in den Argumenten wird ignoriert. Für die Differenz in Stunden, Minuten oder Monaten verwende TIMESTAMPDIFF. In PostgreSQL gibt es die Funktion nicht: Die Anzahl der Tage liefert die Subtraktion date1 - date2, und AGE gibt ein Intervall in Jahren, Monaten und Tagen zurück.