MSSQL bekommt einen Tisch mit (Monaten + Jahr) zwischen zwei Terminen

Ich muss einen Tisch mit Monat + Jahr zwischen zwei data mit MSSQL server bekommen. Lets sagen, die angegebenen Termine sind 01/02/2012 bis 05/04/2012. Dann sollte der Tisch so aussehen

Feb 2012 Mar 2012 April 2012 

Irgendwelche Vorschläge für das Erreichen dieses ist sehr geschätzt?

Probier diese –

Abfrage:

 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 

Ausgabe:

 -------- Feb 2012 Mar 2012 Apr 2012