打印出2个日期之间的所有日期

osh*_*nen 0 sql t-sql sql-server sql-server-2008

如果我有2天2013-06-03并且2013-06-10作为示例,如何打印这两个日期之间的所有日期列表?

例如,在这种情况下的列表将是:

2013-06-22
2013-06-23
2013-06-24
2013-06-25
2013-06-26
2013-06-27
2013-06-28
2013-06-29
2013-06-30
2013-07-01
2013-07-02
2013-07-03
2013-07-04
2013-07-05
2013-07-06
2013-07-07
Run Code Online (Sandbox Code Playgroud)

Dis*_*kov 5

DECLARE @Start date = '2013-06-03'
DECLARE @End date = '2013-06-10'

;WITH Dates AS 
(
    SELECT @Start AS [Date]
    UNION ALL
    SELECT DATEADD(DAY, 1, [Date])
    FROM Dates
    WHERE [Date] < @End
)

SELECT [Date] 
FROM Dates
OPTION (MAXRECURSION 0)
Run Code Online (Sandbox Code Playgroud)