MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Retornar o número de dias em um mês no MariaDB


Aqui está um truque bacana que podemos usar no MariaDB para retornar o número de dias em um mês com base em uma determinada data.
SELECT DAYOFMONTH(LAST_DAY('2027-07-11'));

Resultado:
31

Isso envolve passar o LAST_DAY() do MariaDB função para o DAYOFMONTH() função para retornar o número de dias do mês.

Mais especificamente, passamos a data para o LAST_DAY() função para obter a data do último dia do mês. Em seguida, usamos o DAYOFMONTH() função para retornar apenas o número do dia desse último dia.

Aqui está um exemplo que passa por todos os meses do ano:
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 |
+------+------+------+------+------+------+------+------+------+------+------+------+