記錄下查詢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)