Mysql 获取当月和上个月第一天和最后一天的SQL

Mysql 获取当月和上个月第一天和最后一天的SQL

#获取当前日期
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 last_day(curdate());

#获取当前日期
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 last_day(curdate());

猜你喜欢

转载自www.cnblogs.com/wangjingu/p/10655134.html