- 类别:
:doc:`/sql-reference/functions-string`(通用)
TRANSLATE¶
替换字符串中的字符。具体来说,如果给定一个字符串、一组要替换的字符和要替换原始字符的字符, TRANSLATE 就会进行指定的替换。
注意
此函数不能在语言之间进行转换。请参阅用于在自然语言之间翻译文本的 TRANSLATE (SNOWFLAKE.CORTEX) 函数。
语法¶
TRANSLATE( <subject>, <sourceAlphabet>, <targetAlphabet> )
实参¶
subject
要转换的字符串表达式。如果
subject
中的某个字符不在sourceAlphabet
中,则该字符会被添加到结果中,而不会进行任何转换。sourceAlphabet
一个字符串,包含此函数修改的所有字符。每个字符会转换为
targetAlphabet
中的相应字符,或者会在结果中省略。如果targetAlphabet
中没有相应字符(即字符数少于sourceAlphabet
),则字符会在结果中省略。targetAlphabet
一个字符串,包含用于替换
sourceAlphabet
中字符的所有字符。如果
targetAlphabet
长于sourceAlphabet
,Snowflake 将报告以下错误:String '(target alphabet)' is too long and would be truncated.
返回¶
此函数返回 VARCHAR 类型的值。
排序规则详细信息¶
Arguments with collation specifications currently aren't supported. Collation specifications are ignored without returning an error.
示例¶
将字符 ñ
转换为 n
:
SELECT TRANSLATE('peña','ñ','n') AS translation;
+-------------+
| TRANSLATION |
|-------------|
| pena |
+-------------+
将 X
转换为 c
,将 Y
转换为 e
,将 Z
转换为 f
,并移除 ❄
字符:
SELECT TRANSLATE('❄a❄bX❄dYZ❄','XYZ❄','cef') AS translation;
+-------------+
| TRANSLATION |
|-------------|
| abcdef |
+-------------+