一个replace的小讨论
在mssql中replace可以替换相应的字符,如我要替换   
 declare   @str   varchar(20)    
 set   @str   =    'abcdefghijk ' 
 print   @str 
 print   replace(@str, 'b ', 'x ')   --   得到结果   axcdefghijk   
 替换一个字符很容易,但是现在如果要替换字符b、d为x呢? 
 我想到的一个办法(嵌套来替换) 
 print   replace(replace(@str, 'b ', 'x '), 'd ', 'x ')   --   得到结果   axcxefghijk   
 现在如果要替换再多点的字符b、d、g、j为x呢? 
 若按照老方法,嵌套下去代码越来越多、繁琐,请大家看看有没有什么简单明了点的方法,比如使用类似in的方法。 
------解决方案--------------------楼主精神可贵呀.
------解决方案--------------------create function aaa( @str varchar(500) ) 
 returns varchar(500) 
 as  
 begin         
      set @str=case when charindex( 'b ',@str)> 0 then replace(@str, 'b ', 'x ') else  '0 ' end 
      set @str=case when charindex( 'd ',@str)> 0 then replace(@str, 'd ', 'x ') else  '0 ' end 
      set @str=case when charindex( 'f ',@str)> 0 then replace(@str, 'f ', 'x ') else  '0 ' end 
      return @str 
 end    
 declare @s varchar(500) 
 set @s= 'abcdefghijk ' 
 select    fradbreader.aaa(@s)
------解决方案--------------------LZ的探讨精神值得学习
------解决方案--------------------LZ的探讨精神好. 
 qnc1234567890() 思维好!!!