记录下查询MySQL本周,上周,本月,最近N天的日期
1. 最近7天:
-- 查询七天前的日期
-- 返回2020-07-21
select DATE_SUB( CURDATE(), INTERVAL 7 DAY )
2. 最近15天:
-- 查询十五天前的日期
-- 返回2020-07-13
select DATE_SUB( CURDATE(), INTERVAL 15 DAY )
3. 最近1个月:
-- 查询一个月前的日期
-- 返回2020-06-28
select DATE_SUB( CURDATE(), INTERVAL 1 MONTH )
4. 最近一年:
-- 查询一年前的日期
-- 返回2019-07-28
select DATE_SUB( CURDATE(), INTERVAL 1 YEAR )
5. 查询本周:
-- 查询当前日期是第多少周,因为我们一周从周一开始,所以需要设置参数1
-- 返回202031,表示第31周
select YEARWEEK(DATE_FORMAT(CURDATE(),'%Y-%m-%d'),1)
6. 查询上周:
-- 查询上一周是第多少周,因为我们一周从周一开始,所以需要设置参数1
-- 获取七天前的日期,然后计算
-- 返回202030,表示第30周
select YEARWEEK(DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 7 DAY),'%Y-%m-%d'),1)
7. 查询本月:
-- 查询本月,就格式化
select DATE_FORMAT(CURDATE(), '%Y%m')
8. 查询周一到周五:
-- 减1是周一,以此类推
-- 返回2020-07-27周一
select SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-1)
-- 返回2020-07-27周二
select SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')-2)
9. 查询指定日期:就直接比较