计算一个月里有多少天

MySQL并没有提供直接计算某个月里有多少天的函数,但是我们可以用last_dayday这两个函数来配合达到目的。

函数解释

last_day(date)

返回date所在月的最后一天

MariaDB [test]> select last_day('2013-08-14');
+------------------------+
| last_day('2013-08-14') |
+------------------------+
| 2013-08-31             |
+------------------------+
1 row in set (0.00 sec)

MariaDB [test]> select last_day('2012-02-01');    
+------------------------+
| last_day('2012-02-01') |
+------------------------+
| 2012-02-29             |
+------------------------+
1 row in set (0.00 sec)

day(date)

返回date中的天,它与dayofmonth有一样的作用。

MariaDB [test]> select day('2013-08-14');     
+-------------------+
| day('2013-08-14') |
+-------------------+
|                14 |
+-------------------+
1 row in set (0.00 sec)

MariaDB [test]> select dayofmonth('2013-08-14');
+--------------------------+
| dayofmonth('2013-08-14') |
+--------------------------+
|                       14 |
+--------------------------+
1 row in set (0.00 sec)

搭配效果

MariaDB [test]> select day(last_day('2013-08-14')); 
+-----------------------------+
| day(last_day('2013-08-14')) |
+-----------------------------+
|                          31 |
+-----------------------------+
1 row in set (0.00 sec)

扩展阅读

发表评论