- 类别:
:doc:`/sql-reference/functions-string`(通用)
TRANSLATE¶
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.
。
排序规则详细信息¶
Arguments with collation specifications are currently not supported.
示例¶
将字符“ñ”转换为“n”。
SELECT TRANSLATE('peña','ñ','n'); +---------------------------+ | TRANSLATE('PEÑA','Ñ','N') | |---------------------------| | pena | +---------------------------+
将“X”转换为“c”,将“Y”转换为“e”,将“Z”转换为“f”,并移除“❄”字符:
SELECT TRANSLATE('❄a❄bX❄dYZ❄','XYZ❄','cef'); +--------------------------------------+ | TRANSLATE('❄A❄BX❄DYZ❄','XYZ❄','CEF') | |--------------------------------------| | abcdef | +--------------------------------------+