MySQL中日期问题

本文提供了两种方法来查询数据库中指定月份的起始日期和结束日期。第一种方法使用DATE_FORMAT和DATE_SUB函数配合CURRENT_DATE获得上个月第一天和最后一天的具体时间。第二种方法通过DATE_SUB和DATE_FORMAT函数结合NOW函数及EXTRACT函数,灵活地获取上个月和当前月份的第一天与最后一天。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一种方法:

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 后面的数字自己去改就行了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值