例如,如果您提供 4 作为参数,它将返回当前年份和过去 4 年:2013 和 (2012, 2011, 1010, 2009)
问问题
26 次
1 回答
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)
于 2013-11-11T17:21:20.920 回答