MariaDB
 sql >> Database >  >> RDS >> MariaDB

Restituisce il numero di giorni in un mese in MariaDB

Ecco un trucco ingegnoso che possiamo usare in MariaDB per restituire il numero di giorni in un mese in base a una determinata data.

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

Risultato:

31

Ciò comporta il passaggio di LAST_DAY() di MariaDB funzione al DAYOFMONTH() funzione per restituire il numero di giorni del mese.

Più specificamente, abbiamo passato la data a LAST_DAY() funzione per ottenere la data dell'ultimo giorno del mese. Abbiamo quindi utilizzato DAYOFMONTH() funzione per restituire solo il numero del giorno dell'ultimo giorno.

Ecco un esempio che attraversa tutti i mesi dell'anno:

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";

Risultato:

+------+------+------+------+------+------+------+------+------+------+------+------+
| Jan  | Feb  | Mar  | Apr  | May  | Jun  | Jul  | Aug  | Sep  | Oct  | Nov  | Dec  |
+------+------+------+------+------+------+------+------+------+------+------+------+
|   31 |   28 |   31 |   30 |   31 |   30 |   31 |   31 |   30 |   31 |   30 |   31 |
+------+------+------+------+------+------+------+------+------+------+------+------+