表T中有字段c1。c1的值为:
<Aes><Cmd>MAReport</Cmd><Preview>false</Preview</Aes><Cmd> </Cmd>中间的值不固定,可以为任意字符,现在想把所有记录的
<Cmd> </Cmd>这段改为<Cmd>自己定义</Cmd>的一个自己固定的字符,请问要是用replace该如何解决,谢谢各位,解决马上结贴
<Aes><Cmd>MAReport</Cmd><Preview>false</Preview</Aes><Cmd> </Cmd>中间的值不固定,可以为任意字符,现在想把所有记录的
<Cmd> </Cmd>这段改为<Cmd>自己定义</Cmd>的一个自己固定的字符,请问要是用replace该如何解决,谢谢各位,解决马上结贴
set @c='<Aes><Cmd>MAReport</Cmd><Preview>false</Preview</Aes>'select @c=left(@c,charindex('<cmd>',@c)+4)+'要替换的字符串'+right(@c,len(@c)-charindex('</cmd>',@c)+1)
print @c
insert T select '<Aes><Cmd>MAReport</Cmd><Preview>false</Preview</Aes>'update T set
c1=stuff(c1, charindex('<Cmd>', c1), charindex('</Cmd>', c1)-charindex('<Cmd>', c1)+6, '<Cmd>自己定义</Cmd>')select * from T
--result
c1
----------------------------------------------------------------------------------------------------
<Aes><Cmd>自己定义</Cmd><Preview>false</Preview</Aes>(1 row(s) affected)
set @a = '<Aes><Cmd>MAReport</Cmd><Preview>false</Preview</Aes>'
select left(@a,charindex('<Cmd>',@a) + 4) +'我' + right(@a,len(@a)-charindex('</Cmd>',@a) + 1)
set @str1='<Aes><Cmd>MAReport</Cmd><Preview>false</Preview></Aes>'
set @str2='testString'select stuff(@str1,charindex('<Cmd>',@str1)+5,charindex('</Cmd>',@str1)-charindex('<Cmd>',@str1)-5,@str2)
set @sql='<Cmd>MAReport</Cmd>'
select stuff(@sql,charindex('<Cmd>',@sql)+len('<Cmd>'),charindex('</Cmd>',@sql)-(len('<Cmd>')+1),'中国人')--这里要替换''的字符------------------------------
<Cmd>中国人</Cmd>(所影响的行数为 1 行)