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;