Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


TRANSLATE

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

功能描述

依次查找 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

执行类型

TYPEVALUE说明
NATIVE0函数只能在本地计算
VOLATI0函数的每次计算值不同
STABLE0函数的每次计算值相同
COMPUTE0函数支持预计算取值
NOT_CONST0函数不支持转常数
HAVE_DEF0函数参数有默认值

示例

示例将字符串 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() 在一次操作中执行多个单字符的一对一替换。