translate replace区别
数据:
fuyou@ORCL> select ename||sal from emp;ENAME||SAL------------------------SMITH800ALLEN1600WARD1250JONES2975MARTIN1250BLAKE2850CLARK3675SCOTT3000KING7500TURNER1500ADAMS1100JAMES950FORD3000MILLER1300已选择14行。
利于translate将字母全部改成z
fuyou@ORCL> select data ,translate(lower(data),'abcdefghijklmnopqrstuvwxyz',rpad('z',26,'z')) 2 from 3 ( select ename||sal as data from emp);DATA TRANSLATE(LOWER(DATA),'ABCDEFGHIJKLMNOPQRSTUVWXYZ',RPAD('Z',26,'Z'))------------------------ ------------------------------------------------SMITH800 zzzzz800ALLEN1600 zzzzz1600WARD1250 zzzz1250JONES2975 zzzzz2975MARTIN1250 zzzzzz1250BLAKE2850 zzzzz2850CLARK3675 zzzzz3675SCOTT3000 zzzzz3000KING7500 zzzz7500TURNER1500 zzzzzz1500ADAMS1100 zzzzz1100JAMES950 zzzzz950FORD3000 zzzz3000MILLER1300 zzzzzz1300利于replace删除z
fuyou@ORCL> select data ,replace(translate(lower(data),'abcdefghijklmnopqrstuvwxyz',rpad('z',26,'z')),'z') 2 from 3 ( select ename||sal as data from emp);DATA REPLACE(TRANSLATE(LOWER(DATA),'ABCDEFGHIJKLMNOPQRSTUVWXYZ',RPAD('Z',26,'Z')),'Z')------------------------ ------------------------------------------------SMITH800 800ALLEN1600 1600WARD1250 1250JONES2975 2975MARTIN1250 1250BLAKE2850 2850CLARK3675 3675SCOTT3000 3000KING7500 7500TURNER1500 1500ADAMS1100 1100JAMES950 950FORD3000 3000MILLER1300 1300已选择14行。translate 是对每字符替换
replace 字符串删除