SQL Academy
Premium
Funktionsreferenz

LAST_DAY

Gibt den letzten Tag des Monats für das angegebene Datum zurück.

MySQL 8.1
LAST_DAY(date)

Parameter

dateDATE
Datum oder Datum mit Uhrzeit

Rückgabewert

Datum (DATE) unter Berücksichtigung von Schaltjahren; NULL, wenn der Wert nicht als Datum erkannt wird

Beispiele

Monatsende für ein Datum

MySQL 8.1
SELECT LAST_DAY('2024-02-10');
LAST_DAY('2024-02-10')
2024-02-29

Monatsende für Zahlungen

MySQL 8.1
SELECT date,
	LAST_DAY(date) AS month_end
FROM Payments;
datemonth_end
2005-02-122005-02-28
2005-03-232005-03-31
2005-05-142005-05-31
2005-07-222005-07-31
2005-07-262005-07-31
2005-02-202005-02-28
2005-07-302005-07-31
2005-09-122005-09-30
2005-09-302005-09-30
2005-10-272005-10-31

Anzahl der Tage im Monat

MySQL 8.1
SELECT DAY(LAST_DAY('2023-02-10')) AS days_in_month;
days_in_month
28

Details

Den ersten Tag eines Monats erhältst du aus dem letzten Tag des Vormonats: LAST_DAY(date - INTERVAL 1 MONTH) + INTERVAL 1 DAY. In PostgreSQL gibt es die Funktion nicht, dort berechnest du den letzten Tag des Monats so: DATE_TRUNC('month', date) + INTERVAL '1 month - 1 day'.

Siehe auch