最近需要这个,借鉴了一些网友的经验,找到了两种方式:
方式如下:

#一:获取本月第一天,下一个月第一天,获取差值得到天数
SELECT CURDATE();   #获取当前日期 可以换成指定日期
SELECT DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY);   #获取本月第一天
SELECT DATE_ADD(CURDATE()-DAY(CURDATE())+1,INTERVAL 1 MONTH ); #获取下一个第一天
SELECT DATEDIFF(DATE_ADD(CURDATE()-DAY(CURDATE())+1,INTERVAL 1 MONTH ),DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY)) AS days;  #获取这个月的天数
#二:获取当月的最后一天
SELECT DAY(LAST_DAY(NOW()));
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐