日期:2014-05-16  浏览次数:20331 次

Oracle函数--translate和replace

?? oracle中比较相近的两个字符串处理函数tanslate和replace:

?

??? 1.?replace(char,old,new)

?? 此函数功能是将字符串char中的old字符替换为new字符.

?? select replace('asfdadfasgyv','as','12') from dual;

?? 其返回结果为:12fdadf12gyv;

?

??? 2. translate(char,old,new)

?? 此函数是将源字符串char中出现的old中对应的字母替换为new相应的字母

?? select translate('asfdadfasgyv','as','12') from dual;???

?? 其返回结果为:12fd1df12gyv

?? 注意:和replace函数返回值不一样

?

?? 针对translate函数特别说明:

? ?若from比to字符串长,那么在from中比to中多出的字符将会被删除。
???三个参数中有一个是空,返回值也将是空值。

?? 若old和new长度不一致时:

?? select translate('asfdadfasgyv','asd','1') from dual;

?? 返回结果为:1f1f1gyv

?? 例如:select translate('asdfdadfasgyv','asd','12') from dual;

?? 返回结果为:12f1f12gyv

?

??