表T中有字段c1。c1的值为:
<Aes><Cmd>MAReport</Cmd><Preview>false</Preview</Aes><Cmd> </Cmd>中间的值不固定,可以为任意字符,现在想把所有记录的
<Cmd> </Cmd>这段改为<Cmd>自己定义</Cmd>的一个自己固定的字符,请问要是用replace该如何解决,谢谢各位,解决马上结贴

解决方案 »

  1.   

    left(c1,charindex('<Cmd>')-1)+'自己定义'+right(c1,len(c1)-charindex('</Cmd>')+1)
      

  2.   

    replace('<Aes><Cmd>MAReport</Cmd><Preview>false</Preview</Aes>','MAReport','example')
      

  3.   

    declare @c varchar(8000)
    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
      

  4.   

    create table T(c1 varchar(100))
    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)
      

  5.   

    declare @a varchar(8000)
    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)
      

  6.   

    update t1 set c=left(c,charindex('<cmd>',c)+4)+'要替换的字符串'+right(c,len(c)-charindex('</cmd>',c)+1)
      

  7.   

    如果每一行记录只包含一个<Cmd>...</Cmd>:declare @str1 varchar(100),@str2 varchar(20)
    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)
      

  8.   

    declare @sql varchar(1000)
    set @sql='<Cmd>MAReport</Cmd>'
    select stuff(@sql,charindex('<Cmd>',@sql)+len('<Cmd>'),charindex('</Cmd>',@sql)-(len('<Cmd>')+1),'中国人')--这里要替换''的字符------------------------------
    <Cmd>中国人</Cmd>(所影响的行数为 1 行)