如果我給日期2015年12月31日,它必須顯示爲如何在SQL中獲取當前日期的下一個9週數字?
2015W53, for 2015-12-31, which means Week 53, and next follows as
2016W1, Next as
2016W2, Next as
2016W3 Next as...
我的邏輯是
DECLARE @WEEK VARCHAR(2), @YEAR VARCHAR(4)
SELECT @YEAR = DATEPART(YY,@DATE), @WEEK = CAST(DATEPART(WK,@DATE) AS INT) % 52 ;
IF(CAST(DATEPART(WK,@DATE) AS INT) % 52 = 0)
SET @WEEK = 52;
IF(CAST(DATEPART(WK,@DATE) AS INT) = 53)
SET @YEAR = CAST(@YEAR AS INT) + 1;
IF (LEN(@WEEK) < 2)
BEGIN
SET @WEEK = LEFT('0' + @week, 2)
END
RETURN @YEAR + @WEEK
但這裏2015W53缺失和IAM越來越接下來的9周,
我只是想我的一年的最後一週.., 試了很多次,但無法得到。 任何幫助非常感謝。
它看起來像你的代碼試圖產生前導零,即'2016W01'不是'2016W1'像你的規格。 (FWIW我認爲領先的零是更好!) – Rup