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(now(),’%y-%m-%d’),interval extract(
day from now())-1 day),interval 1 month)
在这里插入图片描述

上个月的最后一天:

select date_sub(date_sub(date_format(now(),’%y-%m-%d’),interval extract(
day from now()) day),interval 0 month) as date

在这里插入图片描述

这个月的第一天:

select date_sub(date_sub(date_format(now(),’%y-%m-%d’),interval extract(
day from now())-1 day),interval 0 month)

在这里插入图片描述

获取当月最后一天

select date_sub(date_format(now(),’%y-%m-%d’),interval extract(
day from now())-1 day)

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐