Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

selecionar o mesmo dia de cada mês pelos próximos 5 anos usando SQL?


Que tal algo como
DECLARE @StartDate DATETIME = '05 Jan 2013',
        @YearsAdded INT = 5

;WITH Dates AS (
        SELECT  @StartDate [Date]
        UNION ALL
        SELECT  DATEADD(MONTH,1,[Date])
        FROM    Dates
        WHERE   DATEADD(MONTH,1,[Date]) <= DATEADD(YEAR,@YearsAdded,@StartDate)
)
SELECT  *
FROM    Dates
OPTION (MAXRECURSION 0)

SQL Fiddle DEMO