2013-05-15 60 views

回答

8

嘗試這一個 -

查詢:

DECLARE 
     @start DATE = '20120201' 
    , @end DATE = '20120405' 

;WITH cte AS 
(
    SELECT dt = DATEADD(DAY, -(DAY(@start) - 1), @start) 

    UNION ALL 

    SELECT DATEADD(MONTH, 1, dt) 
    FROM cte 
    WHERE dt < DATEADD(DAY, -(DAY(@end) - 1), @end) 
) 
SELECT CONVERT(CHAR(4), dt, 100) + CONVERT(CHAR(4), dt, 120) 
FROM cte 

輸出:

-------- 
Feb 2012 
Mar 2012 
Apr 2012 
+0

感謝。這是工作。 –

+0

不客氣@Kasun Jayasinghe。如果你接受這個答案,我會很高興。 – Devart

相關問題