ITPub博客

首页 > 数据库 > Oracle > translate函数

translate函数

原创 Oracle 作者:pwz1688 时间:2009-04-07 14:20:45 0 删除 编辑
Translate函数与replace函数及其相似,都是用来做字符替换的,但又有所区别,replace是对整个字符替换为指定的字符,但translate是一个字符一个字符对应替换,区别看下面的sql[@more@]

SQL> select translate('abc3243dbc','abc','efg') col from dual;

COL

----------

efg3243dfg

SQL> select replace('abc3243dbc','abc','efg') col from dual;

COL

----------

efg3243dbc

从上面的sql可以看出,replace函数是将整个字符abc替换为efg,而translate是将a替换为e,b替换为f,c替换为g。下面例举translate的其它几种情况

SQL> select translate('abc132fdsf','abcdefg','gfedcba') from dual;

TRANSLATE(

----------

gfe132bdsb

--指定的被替换的字符如果后面没有指定任何字符,则被替换为空,如下面的defg四个字符都将被替换为空字符。

SQL> select translate('abc132fdsf','abcdefg','gfe') from dual;

TRANSLA

-------

gfe132s

--提取字符串中的字母,数字都被过滤,如下:

SQL> select translate('abc132fdsf','0123456789',' ') from dual;

TRANSLA

-------

abcfdsf

或按以下方式

SQL> select translate('abc132fdsf','#0123456789','#') from dual;

TRANSLA

-------

abcfdsf

--提取字符串中的数字,字母都被过滤,如下:

SQL> select translate('abc132fdsf','abcdefghigklmnopqrstuvwxyz',' ') from dual;

TRAN

----

132

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21251711/viewspace-1020091/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-30

  • 博文量
    106
  • 访问量
    736039