Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Sql中使用Cast语句修改年份_Sql_Casting - Fatal编程技术网

如何在Sql中使用Cast语句修改年份

如何在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_

我想获得一些有关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_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年?为什么不能再次使用日期函数?