SET DATEFIRST
SET DATEFIRST 参数指明所规定的每周第一天:1 对应星期一,2 对应星期二,依次类推,用 7 对应星期日。

解决方案 »

  1.   


    指定日期所在周的任意星期几
    --A.  星期天做为一周的第天
    SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt) --B.  星期一做为一周的第天
    SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)
      

  2.   


    select   数字星期=datepart(weekday,getdate())-1   
      ,文字星期=datename(weekday,getdate())   
      ,第几周=datepart(week,getdate())   
    ,月周= datediff(week,convert(char(8),getdate(),120)+'01',getdate())+1
      

  3.   

    同意:无枪狙击手
    SET DATEFIRST 1
    update Date set WeekOfMonth=datepart(wk,dayofmonth)--或设成公式
    select * from Date
      

  4.   

    第二句改一下:
    update Date set WeekOfMonth=
    datepart(wk,dayofmonth)-datepart(wk,convert(varchar(8),dayofmonth,120)+'01')+1
      

  5.   

    当前日期在当月的第几周select datepart(week,getdate())- datepart(week,dateadd(day,-day(getdate())+1,getdate()))+1
      

  6.   

    星期一为第一天那就set datefirst 1