这是一种方法:
select date_format(date_sub(current_date(),interval 1 month),'%Y-%m-01 00:00:00') as prev_month_first,
date_format(last_day(date_sub(current_date(),interval 1 month)),'%Y-%m-%d 23:59:59') as prev_month_end;
第二种方法:
上个月的第一天:
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
至于你要查那一个月啊,now())-1 day 和 interval 0 后面的数字自己去改就行了。
本文提供了两种方法来查询数据库中指定月份的起始日期和结束日期。第一种方法使用DATE_FORMAT和DATE_SUB函数配合CURRENT_DATE获得上个月第一天和最后一天的具体时间。第二种方法通过DATE_SUB和DATE_FORMAT函数结合NOW函数及EXTRACT函数,灵活地获取上个月和当前月份的第一天与最后一天。
262

被折叠的 条评论
为什么被折叠?



