这个查询根据系统表master.dbo.spt_values使用'DATEADD'函数在基准年份上加上'number'列的值,然后提取出年份
select convert(varchar(4),dateadd(YY,-number,getdate()),23) as [年]
from master.dbo.spt_values
where type='p' and number >=0 and number<=dateDIFF(YY,0,getdate())
and convert(varchar(4),dateadd(YY,-number,getdate()),23)>='2012' --限定大于的年份
查询年份结果
年
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012