Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

sélectionner le même jour chaque mois pendant les 5 prochaines années en utilisant SQL ?

Que diriez-vous de quelque chose comme

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)

DÉMO SQL Fiddle