Sehen Sie sich die folgende Technik in MySQL an, wenn Sie basierend auf einem bestimmten Datum herausfinden möchten, wie viele Tage ein Monat hat.
Beispiel
Am einfachsten lässt es sich anhand eines Beispiels erklären:
SELECT DAYOFMONTH(LAST_DAY('2030-04-15'));
Ergebnis:
30
Hier haben wir den LAST_DAY()
übergeben Funktion zum DAYOFMONTH()
Funktion.
Also haben wir das Datum an LAST_DAY()
übergeben Funktion, um das Datum des letzten Tages des Monats zu erhalten. Wir haben dann den DAYOFMONTH()
verwendet Funktion, um nur die Tagesnummer dieses letzten Tages zurückzugeben.
Hier ist ein Beispiel, das alle Monate des Jahres durchläuft:
SELECT
DAYOFMONTH(LAST_DAY('2030-01-15')) AS "Jan",
DAYOFMONTH(LAST_DAY('2030-02-15')) AS "Feb",
DAYOFMONTH(LAST_DAY('2030-03-15')) AS "Mar",
DAYOFMONTH(LAST_DAY('2030-04-15')) AS "Apr",
DAYOFMONTH(LAST_DAY('2030-05-15')) AS "May",
DAYOFMONTH(LAST_DAY('2030-06-15')) AS "Jun",
DAYOFMONTH(LAST_DAY('2030-07-15')) AS "Jul",
DAYOFMONTH(LAST_DAY('2030-08-15')) AS "Aug",
DAYOFMONTH(LAST_DAY('2030-09-15')) AS "Sep",
DAYOFMONTH(LAST_DAY('2030-10-15')) AS "Oct",
DAYOFMONTH(LAST_DAY('2030-11-15')) AS "Nov",
DAYOFMONTH(LAST_DAY('2030-12-15')) AS "Dec";
Ergebnis:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 31 28 31 30 31 30 31 31 30 31 30 31