replace的使用,在线等,马上给分啊

jxzhang615 2007-01-04 04:38:20
表T中有字段c1。c1的值为:
<Aes><Cmd>MAReport</Cmd><Preview>false</Preview</Aes>

<Cmd> </Cmd>中间的值不固定,可以为任意字符,现在想把所有记录的
<Cmd> </Cmd>这段改为<Cmd>自己定义</Cmd>的一个自己固定的字符,请问要是用replace该如何解决,谢谢各位,解决马上结贴
...全文
384 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanshufan 2007-01-05
  • 打赏
  • 举报
回复
学习!
jxzhang615 2007-01-05
  • 打赏
  • 举报
回复
谢谢各位的帮助,马上结贴
marco08 2007-01-04
  • 打赏
  • 举报
回复
熱情高漲啊
中国风 2007-01-04
  • 打赏
  • 举报
回复
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 行)
子陌红尘 2007-01-04
  • 打赏
  • 举报
回复
如果每一行记录只包含一个<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)
yczealot 2007-01-04
  • 打赏
  • 举报
回复
update t1 set c=left(c,charindex('<cmd>',c)+4)+'要替换的字符串'+right(c,len(c)-charindex('</cmd>',c)+1)
mengmou 2007-01-04
  • 打赏
  • 举报
回复
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)

marco08 2007-01-04
  • 打赏
  • 举报
回复
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)
yczealot 2007-01-04
  • 打赏
  • 举报
回复
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
hackerlyf 2007-01-04
  • 打赏
  • 举报
回复
replace('<Aes><Cmd>MAReport</Cmd><Preview>false</Preview</Aes>','MAReport','example')
青锋-SS 2007-01-04
  • 打赏
  • 举报
回复
left(c1,charindex('<Cmd>')-1)+'自己定义'+right(c1,len(c1)-charindex('</Cmd>')+1)
青锋-SS 2007-01-04
  • 打赏
  • 举报
回复
用substring()截取.
中国风 2007-01-04
  • 打赏
  • 举报
回复
是用stuff,不是有replace

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧