循环当月的每一天..
然后判断datepart(weekday,date)

解决方案 »

  1.   

    select 分析人员,周六天数=count(*)  from tbname 
       where datepart(weekday,rq) = 7 and datediff(mm,rq,getdate())=0
          group by 分析人员--datediff(mm,rq,getdate())=0 当月
    --datediff(mm,rq,getdate())=1 上月
      

  2.   

    with cte as
    (
       select dateadd(day,-datepart(day,getdate())+1,getdate()) dy
       union all
       select dateadd(day,1,dy)
       from cte where month(dy)=month(dateadd(day,1,dy))
    )
    select sum(case when datepart(weekday,dy) in(6,7) then 1 else 0 end) from cte
      

  3.   

    6,7是对的默认的如果是7,1,需要设置 set datefirst n