测试环境
CREATE TABLE EMP1 AS SELECT A.EMPNO, A.ENAME FROM EMP A WHERE 1=2
insert into emp1 values(001,'CLARK');
insert into emp1 values(002,'KING');
insert into emp1 values(003,'MILLER');
select * from emp1;
translate的用法
---替换掉英文中所有的AEIOU
select a.ename,translate(a.ename,'1AEIOU','1') str from emp1 a;
---把AEIOU替换成指定字符
select a.ename,translate(a.ename,'AEIOU','Mmmm') str from emp1 a;
replace方法
---replace替换掉英文中所有的AEIOU
select a.ename,replace(translate(a.ename,'AEIOU','mmmm'),'m','') str from emp1 a;
---regexp_replace把AEIOU替换
select a.ename,regexp_replace(a.ename,'[AEIOU]') str from emp1 a;
总结:
1.translate可以将字符串中的每个字符替换成任意指定的字符。
2.replace只能将字符串整体替换,不能达到替换每一个字符的效果