Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

chọn cùng một ngày mỗi tháng trong 5 năm tới bằng cách sử dụng SQL?

Làm thế nào về một cái gì đó như

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tổng hợp trường thời gian trong SQL Server

  2. máy chủ sql Chèn csv hàng loạt với dữ liệu có dấu phẩy

  3. Truy vấn PIVOT động của SQL Server?

  4. Tại sao 30 là độ dài mặc định cho VARCHAR khi sử dụng CAST?

  5. SQL Server tương đương với MySQL's GIẢI THÍCH