不积跬步,无以至千里

博客园 首页 新随笔 联系 订阅 管理

TRANSLATE ( 'char' , 'from_string' , 'to_string' )

 

TRANSLATE返回将from_string中的每个字符替换为to_string中的相应字符以后的string。
TRANSLATE 是REPLACE所提供的功能的一个超集。如果from_string比to_string长,那么在from_string中而不在to_string 中的额外字符将从char中被删除,因为它们没有相应的替换字符。to_string不能为空。Oracle将空字符串解释为NULL,并且如果 TRANSLATE中的任何参数为NULL,那么结果也是NULL。

 

举个例子

select translate('123abc','2dc','4e') from dual;

因为from_string和to_string的位置是一一对应的,2对应4,d对应e,c没有对应的值,所以c应该会被删除。
所以例子的字符里的2会替换为4,
d因为字符串里没有,所以不作替换,
c由于没有对应的替换字符,所以字符串里的c会被删除
那么可以得出,结果是
143ab

posted on 2015-12-28 17:02  Zeroassetsor  阅读(180)  评论(0)    收藏  举报