oracle 字符替换

摘自:http://zhidao.baidu.com/link?url=Gruq2bRMmpUu8xZHt20oOl-Ky-cUKhi4YeKigwfY8mchlnau4Cw4LKj01id5rm-GdYEmJHKDM2YrMd5fHbLtQs303Cs6zafJM-mNsp-kI-u
使用replace函数:
测试语句:
select replace('你好变','变','站') from dual;

正式语句:
update test set name = replace(name,'变','站');
可以切割字符串
测试语句:
select replace(substr('XX变#XX变',1,instr('XX变#XX变','变')),'变','站')||substr('XX变#XX变',instr('XX变#XX变','变')+1) from dual;
正式语句:
update  test  set  name  replace (substr( name ,1,instr( name , '变' )), '变' , '站' )||substr( name ,instr( name , '变' )+1);


【说明】
以上若需要替换的文字中只有一个字,没有重复,则可以直接用第一个语句即可;
需要替换的字符串若需要进行切割则用substr()函数,其中前半截: replace (substr( 'XX变#XX变' ,1,instr( 'XX变#XX变' , '变' )), '变' , '站' )先截取需要替换的字符串然后再替换,后半截的||则把源字符串后半截不需要替换的“正常字符”给拼接在其后,利用substr()函数的优点是只是替换截取的部分,后面还有相同字符则不会被替换;另替换之前最好先用测试语句检测结果正常之后再做替换;
作此说明!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值