使用递归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完全消除限制。