Découvrez la technique suivante dans MySQL si vous avez besoin de savoir combien de jours sont dans un mois en fonction d'une date donnée.
Exemple
La façon la plus simple de l'expliquer est avec un exemple :
SELECT DAYOFMONTH(LAST_DAY('2030-04-15'));
Résultat :
30
Ici, nous avons passé le LAST_DAY()
fonction au DAYOFMONTH()
une fonction.
Nous avons donc passé la date au LAST_DAY()
fonction afin d'obtenir la date du dernier jour du mois. Nous avons ensuite utilisé le DAYOFMONTH()
fonction pour renvoyer uniquement le numéro du jour de ce dernier jour.
Voici un exemple qui couvre tous les mois de l'année :
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";
Résultat :
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 31 28 31 30 31 30 31 31 30 31 30 31