sql server 想获取每个月的各个周报 ,周报时间是周三到下周三 本月第一天不是周三的话第一周就是本月第一天到第一个周三 本月最后一天不是周三的话就本月最后一个周三到本月最后一天为最后一个周报 这个有人会吗?求支援
其实你这个就是想按周来切分一个月份,可以使用datepart函数,
但由于这个函数是按星期日为一周的第一天,因此需要将你当前日期减去3天再来使用这个函数,
最后再用这个函数的值和月份结合,来识别区间段就好了
select cast( datepart(week,(DATEADD(d,-3,日期字段))) as VARCHAR)+'-'+ cast(month(日期字段) as VARCHAR)
如果要写成查询条件的话
where cast( datepart(week,(DATEADD(d,-3,日期字段))) as VARCHAR)+'-'+ cast(month(日期字段) as VARCHAR)=
cast( datepart(week,(DATEADD(d,-3,当前日期))) as VARCHAR)+'-'+ cast(month(当前日期) as VARCHAR)
select cast( datepart(week,DATEADD(d,4,'2022-01-04')) as VARCHAR)+'-'+ cast(month('2022-01-04') as VARCHAR)