字符串 '200603' 怎么让它变成'200503' 又没有什么好的方法

解决方案 »

  1.   

    SELECT DATEADD(year, -1, '200503')
      

  2.   

    条件不是很充分..
    select replace('200603','6','5')
    ---or:
    select stuff('200603',4,1,'5')--?
      

  3.   

    cast(cast('200603' as int)-100  as varchar(6))
      

  4.   

    ????
    select cast(cast('200603' as int) - 100 as varchar(6))
    select replace('200603', '2006', '2005')
    select convert(varchar(6), dateadd(year, -1, '200603' + '01'), 112)
      

  5.   

    用DATEADD(year, -1, '200603')结果会是这样
    2019-06-03 00:00:00.000
      

  6.   

    你是字符型的最简单就是用replace()函数了
      

  7.   

    如果你是要年减1的话,就这样做了
    select convert(char(4),substring('200603',1,4)-1)+convert(char(2),right('200603',2))