1、一周的开始时间和结束时间
select
DATE_FORMAT( subdate('2020-04-04 23:00:01',WEEKDAY('2020-04-04 23:00:01')),'%Y-%m-%d 00:00:00'),
DATE_FORMAT( subdate('2020-04-04 23:00:01',WEEKDAY('2020-04-04 23:00:01')-6),'%Y-%m-%d 23:59:59')
输出:2021-02-01 | 2021-02-07
2、一月的开始时间和结束时间
SELECT
DATE_FORMAT(DATE_SUB('2020-04-08 23:00:01',INTERVAL (DAYOFMONTH('2020-04-08 23:00:01')-1) day),'%Y-%m-%d 00:00:00'),
DATE_FORMAT( LAST_DAY('2020-04-04 23:00:01'),'%Y-%m-%d 23:59:59');
未完待续