update CompanyInfo set Re1=replace(Re1,'a2','a1')  Re1 是nvarchar(50)替换 mssql

解决方案 »

  1.   

    替换Re1中的 a2 为 a1
      

  2.   


    declare @str varchar(20)
    set @str='a2a3a4a5'
    select REPLACE(@str,'a2','a1')说明:replace(字段,被替换的内容,内容)
      

  3.   

    你就直接 update CompanyInfo set Re1=replace(Re1,'a2','a1')  就可以了
      

  4.   

    你写的没什么问题:update CompanyInfo set Re1=replace(Re1,N'a2',N'a1')  
      

  5.   


    update CompanyInfo set Re1=replace(Re1,'a2','a1')  select @@ROWCOUNT---执行完UPDATE,用这个看看
      

  6.   

    update CompanyInfo set Re1=replace(Re1,'a2','a1')  
    你这句的意思是:把companyinfo表中re1字段的值,如果存在a2这个值,就替换成a1,比如re1有一个值是:asdfadbasa2asdf,替换后就成:asdfadbasa1asdf,先检查是否你想要的,如果为0,建议用这句话来测试是否有满足条件的数据:
    select *
    from companyinfo
    where charindex('a2',re1)>0如果没数据,证明没有可供替换的数据
      

  7.   

    Re1是nvarchar(50),须在字符串前加N.update CompanyInfo 
      set Re1=replace(Re1,N'a2',N'a1')
      

  8.   

    不知LZ程序中对返回值是如何定义的?返回值0不一定代表替换失败.
    可能所有Re1中不包含有"a2",所以不需替换.-- 查询含有"a2"的Re1
    select Re1 
      from CompanyInfo
      where charindex(N'a2',Re1,1)>0