sql >> Database >  >> RDS >> MariaDB

Retourneer het aantal dagen in een maand in MariaDB

Hier is een handige truc die we in MariaDB kunnen gebruiken om het aantal dagen in een maand te retourneren op basis van een bepaalde datum.

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

Resultaat:

31

Dit omvat het doorgeven van MariaDB's LAST_DAY() functie naar de DAYOFMONTH() functie om het aantal dagen in de maand te retourneren.

Meer specifiek hebben we de datum doorgegeven aan de LAST_DAY() functie om de datum van de laatste dag van de maand te krijgen. We gebruikten toen de DAYOFMONTH() functie om alleen het dagnummer van die laatste dag terug te geven.

Hier is een voorbeeld dat alle maanden van het jaar doorloopt:

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

Resultaat:

+------+------+------+------+------+------+------+------+------+------+------+------+
| 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. Dynamisch alternatief voor pivoteren met CASE en GROUP BY

  2. Afdruk samenvoegen doen in Access 2016

  3. Query time-out in pg-promise

  4. Microsoft SQL Server 2012 Enterprise Edition met Service Pack 1 installeren