时间相关:

last_day(curdate());获取当月最后一天。


这就出来当月天数了,相当简单。


MySQL 获取当前月的天数

selectcurdate();                      --获取当前日期
select DATE_ADD(curdate(),interval -day(curdate())+1day)   --获取本月第一天
select date_add(curdate()-day(curdate())+1,interval 1 month ) --获取下个月的第一天
select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) fromdual --获取当前月的天数


上个月的第一天: 

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_sub(date_format(now(),'%y-%m-%d'),interval extract(  
   day from now()) day),interval -1 month) as date     (有bug)