Mysql获取每月的周的时间段
程序员文章站
2022-07-01 09:42:59
...
以下sql复制粘贴后可以直接运行:
set @fd= ( DATE_ADD(CONCAT('2021-09','-01'),interval -day(CONCAT('2021-09','-01'))+1 day)); -- 获取本月第一天
set @ld= ( last_day(CONCAT('2021-09','-01'))); -- 获取当月最后一天
set @fw= (subdate(@fd,date_format(@fd,'%w')-1)) ; -- 获取本月第一天在本周的周一
set @lw= (subdate(@ld,date_format(@ld,'%w')-7) ); -- 获取当月最后一天在本周的周日
set @[email protected]; -- 第一周周一
set @owl=subdate(@fw,date_format(@fw,'%w')-7); -- 第一周周日
set @twf=DATE_ADD(@owl,INTERVAL 1 DAY); -- 第二周周一
set @twl=subdate( @twf,date_format( @twf,'%w')-7); -- 第二周周日
set @swf=DATE_ADD(@twl,INTERVAL 1 DAY); -- 第三周周一
set @swl=subdate( @swf,date_format( @swf,'%w')-7); -- 第三周周日
set @fwf=DATE_ADD(@swl,INTERVAL 1 DAY); -- 第四周周一
set @fwl=subdate( @fwf,date_format( @fwf,'%w')-7); -- 第四周周日
set @wwf=DATE_ADD(@fwl,INTERVAL 1 DAY); -- 第五周周一
set @wwl=subdate( @wwf,date_format( @wwf,'%w')-7); -- 第五周周日
set @lwf=DATE_ADD(@wwl,INTERVAL 1 DAY); -- 第六周周一
set @lwl=subdate( @lwf,date_format( @lwf,'%w')-7); -- 第六周周日
SELECT
timestampdiff(week,@fw,@lw) fd,
0 ld UNION ALL
SELECT
@owf fd,
@owl ld UNION ALL
SELECT
@twf fd,
@twl ld UNION ALL
SELECT
@swf fd,
@swl ld UNION ALL
SELECT
@fwf fd,
@fwl ld UNION ALL
SELECT
@wwf fd,
@wwl ld UNION ALL
SELECT
@lwf fd,
@lwl ld;
set @fd=null;
set @ld=null;
set @fw=null;
set @lw=null;
set @owf=null;
set @owl=null;
set @twf=null;
set @twl=null;
set @swf=null;
set @swl=null;
set @fwf=null;
set @fwl=null;
set @wwf=null;
set @wwl=null;
set @lwf=null;
set @lwl=null;
上一篇: 叫人不淡定的校园雷事
下一篇: ffmpeg实现图像倒转