Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

wybrać ten sam dzień każdego miesiąca przez następne 5 lat przy użyciu SQL?

Co powiesz na coś takiego

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)

DEMO SQL Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie wierszy z FOR XML, ale z wieloma kolumnami?

  2. Generuj SQL Utwórz skrypty dla istniejących tabel za pomocą Query

  3. SQL konwertuje datetime i odejmuje godziny

  4. Import funkcji EF nie rozpoznaje kolumn zwróconych przez StoredProc

  5. Odwróć wynik SQL