一个字符串更新其中一个字母,好比abc001,abd002,abs004我要是想更新成aba001,aba002,aba004,把第三个字母更新下,sql这么写?

解决方案 »

  1.   

    replace(replace(replace('abc001,abd002,abs004','c','a'),'d','a'),'s','a')
      

  2.   


    declare @str varchar(100)
    set @str='abc001'
    select stuff(@str,3,1,'a')declare @str varchar(100)
    set @str='abc001,abd002,abs004'
    declare @s varchar(100),@s1 varchar(100)
    set @str=@str+','
    while @str<>''
    begin
      set @s=substring(@str,1,charindex(',',@str))
      set @str=replace(@str,@s,'')
      set @s=replace(@s,',','')
      select @s=stuff(@s,3,1,'a')
      select @s1=isnull(@s1+',','')+@s
    end
    select @s1
      

  3.   


    declare @var nvarchar(10)
    set @var='abx001'
    --select @var
    select stuff(@var,3,1,'a')
    ----------
    aba001(1 個資料列受到影響)
      

  4.   

    重新赋值就行了:update tablename set colname=left(colname,2) + 'x' + substring(colname,4,n) where语名。
    其中:
    tablename为表名
    colname为列名
    x为你要将colname列中内容的第三位修改后的内容
    n>=colname列长度-3
    where语名为条件语句
      

  5.   

    select replace(replace(replace('abc001,abd002,abs004','abc','aba'),'abd','aba'),'abs','abc')
      

  6.   

      用update修改下不就行了
      

  7.   

    select stuff(@var,3,1,'a')
    stuff函数的使用