如果有一张表
Last        First           Title
-----------------------------------
white       yellow          '1001'
"blue"      'black'         '1003'
pink        "purple"         1002
这张表中部分记录的部分字段有单引号和双引号字符,请用SQL语句去掉,并将但引号替换成@,双引号替换成##
这是一到面试题请教高手!!!!!!!!

解决方案 »

  1.   

    update tb
      set last=replace(replace(last,'''','@'),'"','##'),
          first=replace(replace(first,'''','@'),'"','##')
      

  2.   


    declare @str varchar(50)set @str='te df''dlf"k;df'select @str,replace(replace(@str,'''','@'),'"','##')
      

  3.   

    update tab set
       last=replace(replace(last,'''','@'),'"','##'),
       first=replace(replace(first,'''','@'),'"','##'),
       Title=replace(replace(Title,'''','@'),'"','##')
      

  4.   

    update tb
      set last=replace(replace(replace(replace(last,'''','@'),'"','##'),'''',''),'"',''),
          first=replace(replace(replace(replace(first,'''','@'),'"','##'),'''',''),'"','')