sql >> Databasteknik >  >> RDS >> MariaDB

Returnera antalet dagar i en månad i MariaDB

Här är ett smart knep som vi kan använda i MariaDB för att returnera antalet dagar i en månad baserat på ett givet datum.

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

Resultat:

31

Detta innebär att du skickar MariaDB:s LAST_DAY() funktion till DAYOFMONTH() funktion för att returnera antalet dagar i månaden.

Mer specifikt skickade vi datumet till LAST_DAY() funktion för att få datum för den sista dagen i månaden. Vi använde sedan DAYOFMONTH() funktion för att returnera bara dagnumret för den sista dagen.

Här är ett exempel som går igenom alla månader på året:

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

Resultat:

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

  1. Vad är MariaDB Enterprise och hur man hanterar det med ClusterControl?

  2. Hur man förstår SQL Server Geografi Data Type

  3. Föråldrade funktioner att ta ur din verktygslåda – Del 2

  4. SET-operatorer i SQL