sql >> Base de Datos >  >> RDS >> MariaDB

Devolver el número de días en un mes en MariaDB

Aquí hay un ingenioso truco que podemos usar en MariaDB para devolver la cantidad de días en un mes según una fecha determinada.

SELECT DAYOFMONTH(LAST_DAY('2027-07-11'));

Resultado:

31

Esto implica pasar el LAST_DAY() de MariaDB función al DAYOFMONTH() función para devolver el número de días en el mes.

Más específicamente, 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('2027-01-11')) AS "Jan",
    DAYOFMONTH(LAST_DAY('2027-02-11')) AS "Feb",
    DAYOFMONTH(LAST_DAY('2027-03-11')) AS "Mar",
    DAYOFMONTH(LAST_DAY('2027-04-11')) AS "Apr",
    DAYOFMONTH(LAST_DAY('2027-05-11')) AS "May",
    DAYOFMONTH(LAST_DAY('2027-06-11')) AS "Jun",
    DAYOFMONTH(LAST_DAY('2027-07-11')) AS "Jul",
    DAYOFMONTH(LAST_DAY('2027-08-11')) AS "Aug",
    DAYOFMONTH(LAST_DAY('2027-09-11')) AS "Sep",
    DAYOFMONTH(LAST_DAY('2027-10-11')) AS "Oct",
    DAYOFMONTH(LAST_DAY('2027-11-11')) AS "Nov",
    DAYOFMONTH(LAST_DAY('2027-12-11')) 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 |
+------+------+------+------+------+------+------+------+------+------+------+------+