MySQL关于月份日期的操作

#获取当前日期
SELECT CURDATE();

#获取本月最后一天
SELECT LAST_DAY(CURDATE());

#获取本月的第一天
SELECT DATE_ADD(CURDATE(), INTERVAL - DAY(CURDATE()) + 1 DAY);

#获取下个月的第一天
SELECT DATE_ADD(CURDATE() - DAY(CURDATE()) + 1, INTERVAL 1 MONTH);

#获取本月已过了几天
SELECT DAY(CURDATE());

#获取本月的天数(先加一个月,再减今天是第几天,得到当前月的最后一天,最后求最后一天是几号)
SELECT DAY(DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 MONTH), INTERVAL - DAY(CURDATE()) DAY));

#上个月的第一天
SELECT DATE_SUB(DATE_SUB(DATE_FORMAT(CURDATE(),'%y-%m-%d'), INTERVAL EXTRACT( 
DAY FROM CURDATE()) - 1 DAY), INTERVAL 1 MONTH);


#上个月的最后一天
SELECT DATE_SUB(DATE_SUB(DATE_FORMAT(CURDATE(),'%y-%m-%d'), INTERVAL EXTRACT( 
DAY FROM CURDATE()) DAY), INTERVAL 0 MONTH);


#本月的第一天
SELECT DATE_SUB(DATE_SUB(DATE_FORMAT(CURDATE(),'%y-%m-%d'),INTERVAL EXTRACT( 
DAY FROM CURDATE()) - 1 DAY), INTERVAL 0 MONTH);

#获取本月最后一天
SELECT LAST_DAY(CURDATE());

  

原文地址:https://www.cnblogs.com/coder-zyc/p/10194837.html