MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Gibt die Anzahl der Tage in einem Monat in MariaDB zurück

Hier ist ein raffinierter Trick, den wir in MariaDB verwenden können, um die Anzahl der Tage in einem Monat basierend auf einem bestimmten Datum zurückzugeben.

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

Ergebnis:

31

Dazu gehört das Übergeben von LAST_DAY() von MariaDB Funktion zum DAYOFMONTH() Funktion, um die Anzahl der Tage im Monat zurückzugeben.

Genauer gesagt haben wir das Datum an LAST_DAY() übergeben Funktion, um das Datum des letzten Tages des Monats zu erhalten. Wir haben dann den DAYOFMONTH() verwendet Funktion, um nur die Tagesnummer dieses letzten Tages zurückzugeben.

Hier ist ein Beispiel, das alle Monate des Jahres durchläuft:

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

Ergebnis:

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