Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


TRANSLATE

📄字数 767
👁️阅读量 加载中...

功能描述

依次查找 expr 中的每个字符是否在 from_string 中存在,如果不存在,那么返回 expr 相应位置的字符;如果存在,将用 to_string 中与 from_string 同样位置的字符替换 expr 中的字符。

如果字符在 from_string 中多次出现,则使用与第一次出现对应的 to_string 映射的字符。

语法格式

sql
TRANSLATE(expr, from_string, to_string)

输入参数

  • expr:要处理的源字符串,VARCHAR 类型,或能隐式转换为 VARCHAR 类型的其他类型。
  • from_string:包含要被替换的字符串,VARCHAR 类型,或能隐式转换为 VARCHAR 类型的其他类型,from_string 中的每个字符都会与 to_string 中相应位置的字符进行一对一替换。
  • to_string:包含替换的字符串,VARCHAR 类型,或能隐式转换为 VARCHAR 类型的其他类型,如果 to_string 的长度小于 from_string,则 from_string 中多余的字符如果出现在 expr 中将被删除。

输出结果

返回 VARCHAR 类型,任意输入参数为空字符串或为 NULL 时,输出结果为 NULL

示例

示例将字符串 ABCDEFGH 中的 ZACDEF 逐一替换为 12345678。替换规则如下:

  • 字符 ACDEF 分别被替换为 23456
  • 字符 BGH 没有在 ZACDEF 中找到匹配项,因此它们保持不变。
sql
SQL> SELECT TRANSLATE('ABCDEFGH','ZACDEF','12345678') FROM dual;

+-------------------------------------------+
| TRANSLATE('ABCDEFGH','ZACDEF','12345678') |
+-------------------------------------------+
| 2B3456GH                                  |
+-------------------------------------------+

扩展

  • TRANSLATE() 函数的功能与 REPLACE() 函数的功能类似。REPLACE() 用一个字符串替换另一个字符串。TRANSLATE() 在一次操作中执行多个单字符的一对一替换。