– 假设 @DateStart 是 ‘2000-01-01’
DECLARE @DateStart DATE = ‘2000-01-01’;
– 使用递归CTE创建一个数字表
WITH Nums AS (
SELECT 1 AS Num
UNION ALL
SELECT Num + 1
FROM Nums
WHERE Num < 365*30 – 假设我们只需要50年的天数
)
– 使用数字表生成日期序列
insert into [code_date] (datename)
SELECT DATEADD(DAY, Num, @DateStart) AS Date
FROM Nums
OPTION (MAXRECURSION 0); – 防止递归限制