oracle 字符替换

发布网友 发布时间:2022-04-20 12:13

我来回答

3个回答

热心网友 时间:2022-04-10 10:21

上面的回答都是对的,还是多说一句,如果你只是想改最后一个字符(XX这两个字符中也含有“变”不需要改):
udpate test set name = substr(name ,1,length(name ) - 1) || '站';
commit;

若确认XX两个字符不含“变”,或者含的话也要改掉,那么:
update test set name = replace(name,'变','站');commit;

热心网友 时间:2022-04-10 11:39

select replace(name,'变','站')
from test
要这样?

热心网友 时间:2022-04-10 13:13

使用replace函数:
测试语句:
select replace('你好变','变','站') from al;

正式语句:
update test set name = replace(name,'变','站');
commit;追问如果是这种模式 XX变#XX变 和 XX变XX变 , 只想把第一个“变”替换成“站”的话,怎么做?

追答

可以切割字符串。

测试语句:

select replace(substr('XX变#XX变',1,instr('XX变#XX变','变')),'变','站')||substr('XX变#XX变',instr('XX变#XX变','变')+1) from al;


正式语句:

update test set name = replace(substr(name,1,instr(name,'变')),'变','站')||substr(name,instr(name,'变')+1);
commit;

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com