如何在Sql中使用Cast语句修改年份
我想获得一些有关castsql语句的帮助 从下表示例中,我只想修改从2008年到2016年的年份。请记住,我需要用CAST,而不是DATEADD完成这项工作如何在Sql中使用Cast语句修改年份,sql,casting,Sql,Casting,我想获得一些有关castsql语句的帮助 从下表示例中,我只想修改从2008年到2016年的年份。请记住,我需要用CAST,而不是DATEADD完成这项工作 DATEADDYEAR,8,DATE将是解决方案,但如果这不是一个选项,请使用以下选项之一 我把DATEADD选项放在那里,以防它们最终可用 DECLARE @d_date DATE = '2008-07-01' DECLARE @v_date VARCHAR(25) = '2008-07-01' SELECT @d_
DATEADDYEAR,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)
请不要使用最后一个
代码示例
那么您想将日期强制转换为varchar,然后使用字符串函数将年份部分替换为2016年?为什么不能再次使用日期函数?