用getday()获取不到时间节点,这样就可以了
-- 获取当前日期
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 DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ), DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual;
-- 获取上月第一天
Select date_add(curdate()-day(curdate())+1,interval -1 month);
-- 获取上月最后一天
select last_day(date_add(curdate()-day(curdate())+1,interval -1 month)) ;