例如,如果您提供4作为参数,它将返回当前年份和过去4年: 2013年和(2012年,2011年,1010年,2009年)
答案 0 :(得分:1)
如果你想要的是几年的列表:
years
-----------
2013
2012
2011
2010
2009
此查询应该这样做:
DECLARE @interval INT
SET @interval = 4
;WITH DateSequence( years ) AS
(
SELECT YEAR(GETDATE()) AS Years
UNION ALL
SELECT Years - 1
FROM DateSequence
WHERE Years > YEAR(getdate())-@interval
)
--select result
SELECT * FROM DateSequence OPTION (MaxRecursion 1000)