使用递归 CTE 生成日期范围
使用递归 CTE,你可以生成包含范围的日期:
Declare @FromDate Date = '2014-04-21',
@ToDate Date = '2014-05-02'
;With DateCte (Date) As
(
Select @FromDate Union All
Select DateAdd(Day, 1, Date)
From DateCte
Where Date < @ToDate
)
Select Date
From DateCte
Option (MaxRecursion 0)
默认的 MaxRecursion
设置为 100.使用此方法生成超过 100 个日期将需要查询的 Option (MaxRecursion N)
段,其中 N
是所需的 MaxRecursion
设置。将此设置为 0
将完全取消 MaxRecursion
限制。