sql如何取范围时间内,每个月第一周的日期
想要效果
select * from table1
where 数据库字段创建时间(yyyymmdd) = 范围时间(时间1~时间2)内,每个月第一周的日期
and 数据库字段创建年月(yyyymm) <时间1
and 数据库字段创建年月(yyyymm) >时间2
dateadd(day,0,Z1STMP1) = dateadd(week,datediff(week,0,dateadd(day,6-datepart(day,concat(Z1MON,'01')),concat(Z1MON,'01'))),0)
1.dateadd(day,0,Z1STMP1):用dateadd加0天为了日期后带00:00:00
2.dateadd(week,datediff(week,0,dateadd(day,6-datepart(day,concat(Z1MON,'01')),concat(Z1MON,'01'))),0)
计算出Z1MONyyyymm月的第一周周一是那天
https://blog.csdn.net/menghuannvxia/article/details/114290062
用这个把日期字段转化为周数,后面的动态日期 就为每月的1号,然后就是找 周数 跟1号是同一周的数据了
搞个日期码表比较简单