早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧百科知识频道 --> IT百科 -->mysql -->

mysql获取上月/下月/当月本月第一天/最后一天

场景/问题/来源
日期函数及处理

如何用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)