TRANSLATE(x, from_string, to_string)的函数返回将from_string中的每个字符替换为to_string中的相应字符以后的x。TRANSLATE()函数式字符级别的替换,而不是字符串的替换,意思是用to_string中的字符逐一替换from_string中的字符。
例一:用TRANSLATE()函数将字符串‘123456789’中的'456'替换成‘abc’
SQL> select translate('123456789', '456', 'abc') from dual;
------------
123abc789
例二:如果from_string比to_string长,那么在from_string中额外字符将从x中被删除,因为它没有相应的替换字符
SQL> select translate('123456789', '456', 'ab')from dual;
--------------
123ab789
例三:如果在from_string中某一个字符多次出现,则以第一次替换的内容为准
SQL> select translate('1234564789', '4564', 'abcd') from dual;
-------------
123abca789