MSSQL利用系统表生成yyyy-mm的年-月列表
SELECT
left(CONVERT(VARCHAR(100),dateadd(M,number,GETDATE()-8000),23),7) AS 年月
FROM
master..spt_values n
WHERE
n.type = 'p'
and
CONVERT(VARCHAR(100),dateadd(M,number,GETDATE()-8000),23) < '2099-12-31'
生成年月列表并写入到新建表中
select * into Sys_YearMonthTbl from
(SELECT
left(CONVERT(VARCHAR (100),dateadd(M,number,GETDATE()-8000),23),7) AS 年月
FROM
master..spt_values n
WHERE
n.type = 'p'
and
CONVERT(VARCHAR(100),dateadd(M,number,GETDATE()-8000),23) < '2099-12-31')a
调整范围的话,只需更改8000和2099-12-31这个终止日期