答案 0 :(得分:1)
DATEADD(YEAR,8,DATE)将是解决方案,但如果这不是一个选项,请使用以下选项之一。
我已将DATEADD选项保留在那里以防万一它们可用。
DECLARE @d_date DATE = '2008-07-01'
DECLARE @v_date VARCHAR(25) = '2008-07-01'
SELECT @d_date,
@v_date,
DATEADD(YEAR, 8, @d_date),
DATEADD(YEAR, 8, CONVERT(DATE, @v_date)),
DATEADD(YEAR, 8, CAST(@v_date AS DATE)),
CAST(CAST(LEFT(@v_date, 4) AS NUMERIC) + 8 AS VARCHAR(4)) + RIGHT(@v_date, LEN(@v_date) - 4)
请不要使用最后一个。
代码的一个例子。