2013-03-01 81 views

回答

3

第一@和第三@試試這個使用charindex()stuff()

Fiddle demo 1

declare @s1 varchar(100)= '[email protected]@[email protected]@', @count int = 0 

select @count = charindex('@',@s1,@count+1), 
     @s1 = case isremove when 1 then 
      stuff(@s1, charindex('@',@s1,@count) ,1,'K') else @s1 end 
from (values (1),(0),(1)) t(isremove) 

Fiddle demo 2

declare @s1 varchar(100)= '[email protected]@[email protected]@' 

select stuff(stuff(@s1,first,1,'K'),third,1,'K') 
from (
select charindex('@',@s1,1) first, 
    charindex('@',@s1,charindex('@',@s1,charindex('@',@s1,1)+ 1)+1) third 
)x 
+0

應該是需要更換第一和第三個字符。 – Sunny 2013-03-01 15:13:35

+0

@孫德普,謝謝!固定 – Kaf 2013-03-01 15:17:49

相關問題