条件 WHERE 语句,用于显示特定的会计周数



寻找有关如何最好地执行此代码的一些指导...

最终,我想将其插入 where 子句中,以便根据当前日期驱动FSCL_YR_WK(即 201804(。

AND A.FSCL_YR_WK =  Case 
                    WHEN GETDATE()  between 2018-02-26 AND 2018-03-04 THEN 201804 
                    WHEN GETDATE()  between 2018-03-05 AND 2018-03-11 THEN 201805
                    WHEN GETDATE()  between 2018-03-12 AND 2018-03-08 THEN 201806  
                ELSE '' END

丑陋但有效:

declare @d datetime
SET DATEFIRST 1--week starts on monday, default is sunday
set @d=convert(date,'2018-02-26')
select convert(char(4),datepart(year,@d))+RIGHT('0'+CAST(DATEPART( wk, @d)-5 AS VARCHAR(2)),2)

也许把它放在一个函数中只是为了保持选择清晰

最新更新