translate
功能
用于替换给定字符串中的字符。该函数会将给定字符串 source 中出现在 from_string 中的字符替换为对应位置的 to_string 中的字符。
该函数从 3.2 版本开始支持。
语法
TRANSLATE(source, from_string, to_string)
参数说明
-
source: 要进行字符替换的字符串,支持的数据类型为 VARCHAR。对于不在from_string中的字符,直接在结果字符串中原样输出。 -
from_string: 支持的数据类型为 VARCHAR。如果一个字符在from_string中出现了多次,那么 只有出现的第一次是有效的,见第六个示例。from_string中的字符遵守如下规则:- 如果在
to_string中有对应位置的字符,那么替换为该字符。 - 如果在
to_string中没有对应位置的字符(即to_string的字符长度小于from_string),那么在结果字符串删除这个字符,见示例二、三、四。
- 如果在
-
to_string:用于替换from_string中对应位置的字符。支持的数据类型为 VARCHAR。如果to_string的字符长度大于from_string,那么这部分多余的字符会被忽略,不会有任何影响,见示例五。
返回值说明
返回的数值类型为 VARCHAR。
返回结果为 NULL 的场景:
-
当任意一个输入参数为
NULL时。 -
当替换后结果字符串的长度超过了 VARCHAR 类型的最大长度(1048576)时。
示例
-- 将原字符串中的字符 'ab' 按顺序替换为 '12'