declare @d1 datetime = '2000-01-01', @d2 datetime = '3000-01-01' ;with cte as ( select @d1 as n union all select n + 1 from cte where n < @d2 ) select n from cte option (maxrecursion 0)