Tjek følgende teknik i MySQL, hvis du har brug for at finde ud af, hvor mange dage der er i en måned baseret på en given dato.
Eksempel
Den nemmeste måde at forklare det på er med et eksempel:
SELECT DAYOFMONTH(LAST_DAY('2030-04-15'));
Resultat:
30
Her bestod vi LAST_DAY()
funktion til DAYOFMONTH()
fungere.
Så vi sendte datoen til LAST_DAY()
funktion for at få datoen for den sidste dag i måneden. Vi brugte derefter DAYOFMONTH()
funktion for kun at returnere dagnummeret for den sidste dag.
Her er et eksempel, der går igennem alle årets måneder:
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";
Resultat:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 31 28 31 30 31 30 31 31 30 31 30 31