handhead

Oracle的Translate(expr,from_string,to_string)是字符串操作函数,实现from_string,to_string字符的一 一替换

1)典型示例:

select translate(\'abcdef\',\'abc\',\'123\') from dual;

输出:

TRANSLATE(\'ABCDEF\',\'ABC\',\'123\'

--------------------------------------------

123def

实现:将字符串‘abcdef’中的‘abc’替换为‘123’对应字符一 一替换(实现from_string与to_string以字符为单位,对应字符一 一替换),其它保持不变。

2)一 一替换示例:from_string对应to_string位置没有对应字符

select translate(\'abcdef\',\'abc\',\'12\') from dual;

输出:

TRANSLATE(\'ABCDEF\',\'ABC\',\'12\')

-------------------------------------------

12def

3)一 一替换示例:from_string比to_string字符少

select translate(\'abcdef\',\'ab\',\'123\') from dual;

输出:

TRANSLATE(\'ABCDEF\',\'AB\',\'123\')

-------------------------------------------

12cdef

4)一 一替换示例:from_string比to_string字符少

select translate(\'abcdef\',\'#ab\',\'123\') from dual;

输出:

TRANSLATE(\'ABCDEF\',\'#AB\',\'123\')

-------------------------------------------

23cdef

5)一 一替换示例:to_string为\'\'串

select translate(\'abcdef\',\'#ab\',\'\') from dual;

输出:

TRANSLATE(\'ABCDEF\',\'#AB\',\'\')

-------------------------------------------

总之from_string,to_string对应字符替换,没有则不用替换,熟悉了上面的几个例子,就知道translate(expr,from_string,to_string)的正确用法了。

 

分类:

技术点:

相关文章: