返回 MariaDB 中一个月中的天数

发布于

这是我们可以在MariaDB中使用的一个漂亮的技巧,根据给定日期返回一个月中的天数。

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

输出:

31

这涉及将 MariaDB 的函数传递给函数以返回当月的天数。LAST_DAY()DAYOFMONTH()

更具体地说,我们将日期传递给函数,以便获取该月最后一天的日期。然后,我们使用该函数仅返回最后一天的日期数。LAST_DAY()``DAYOFMONTH()

下面是一年中所有月份的示例:

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

输出:

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