Calendar table in SQL

后端 未结 3 434
隐瞒了意图╮
隐瞒了意图╮ 2021-01-28 05:59

How to create a table that contains a single column of date data type, that consists of all days starting from Jan 1, 2000 until today in oracle SQL

3条回答
  •  执念已碎
    2021-01-28 06:37

    If this is MS SQL Server try this:

    DECLARE @DateFrom DATETIME = '20000101';
    DECLARE @DateTo DATETIME = GETDATE();
    
    WITH Dates(date)
    AS
    ( 
    SELECT @DateFrom 
    UNION ALL
    SELECT DATEADD(day,1,Dates.date) FROM Dates WHERE Dates.date < DATEADD(DAY, -1, @DateTo)
    )
    
    SELECT * FROM Dates OPTION (MAXRECURSION 5000);
    

提交回复
热议问题