TRANSLATE
功能描述
依次查找expr1
中的每个字符是否在expr2
中存在,如果不存在,那么返回expr1
相应位置的字符;如果存在,将用expr3
中与expr2
同样位置的字符替换expr1
中的字符。
语法格式
TRANSLATE(expr1,expr2,expr3)
参数说明
expr1
:要处理的源字符串。expr2
:包含要被替换的字符的字符串。expr2
中的每个字符都会与expr3
中相应位置的字符进行一对一替换。expr3
:包含替换字符的字符串。如果expr3
的长度小于expr2
,则expr2
中多余的字符将被删除(即替换为空)。
函数返回类型
VARCHAR类型字符串。
示例
将字符串ABCDEFGH
中的ZACDEF
替换为12345678
。
- 字符
A
、C
、D
、E
和F
分别被替换为2
、3
、4
、5
和6
。 - 字符
B
、G
和H
没有在ZACDEF
中找到匹配项,因此它们保持不变。
sql
SQL> SELECT TRANSLATE('ABCDEFGH','ZACDEF','12345678') FROM dual;
EXPR1 |
------------------------------------------------------------------------------
2B3456GH|