SQL Server:设置weeknumber会计年度

时间:2017-02-10 09:16:03

标签: sql-server week-number

我有一个存储过程,可以为我的财务报告创建一个跨越多年的日历表,例如从2015年6月1日到2016年5月31日的年份。我想更改周数计算,以便从2016年6月1日开始计算周数

我发现一些我修改过的代码几乎可以工作但6月的第一周被归类为0而不是1

DATEDIFF(week
        ,DATEADD(YEAR
                ,DATEDIFF(MONTH
                         ,'19000601'
                         ,@StartDate
                         ) / 12
                ,'19000601'
                )
        ,dateadd(d
                ,6 - datepart(w
                             ,cast(year(@StartDate)
                                   - case when month(@StartDate) < 6
                                          then 1
                                          else 0
                                          end
                                   as char(4)
                                  )
                              +'0601'
                             )
                ,@StartDate
                )
        ) AS WeekNum,

datediff(d
        ,cast(year(@StartDate) - case when month(@StartDate) < 6
                                      then 1
                                      else 0
                                      end
              as char(4)
             )
         + '0601'
        ,@StartDate
        ) / 7 AS WeekNum,

0 个答案:

没有答案