Consulte la siguiente técnica en MySQL si necesita averiguar cuántos días hay en un mes en función de una fecha determinada.
Ejemplo
La forma más sencilla de explicarlo es con un ejemplo:
SELECT DAYOFMONTH(LAST_DAY('2030-04-15'));
Resultado:
30
Aquí, pasamos el LAST_DAY()
función al DAYOFMONTH()
función.
Así que pasamos la fecha al LAST_DAY()
para obtener la fecha del último día del mes. Luego usamos el DAYOFMONTH()
función para devolver solo el número de día de ese último día.
Este es un ejemplo que abarca todos los meses del año:
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";
Resultado:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 31 28 31 30 31 30 31 31 30 31 30 31