カテゴリ:

文字列とバイナリ関数 (一般)

TRANSLATE

TRANSLATE() 関数は、文字列内の文字を置き換えます。具体的には、文字列、置換する文字のセット、および元の文字の代わりに使用する文字を指定すると、 TRANSLATE() は指定された置換を実行します。

構文

TRANSLATE( <subject>, <sourceAlphabet>, <targetAlphabet> )
Copy

引数

subject

翻訳される文字列式です。 subject の文字が sourceAlphabet に含まれていない場合、その文字は翻訳なしで結果に追加されます。

sourceAlphabet

この関数によって変更されるすべての文字を含む文字列です。各文字は、 targetAlphabet の対応する文字に翻訳されるか、 targetAlphabet に対応する文字がない場合(つまり、 sourceAlphabet より少ない文字の場合)は、結果で省略されます。

targetAlphabet

sourceAlphabet の文字を置き換えるために使用されるすべての文字を含む文字列です。

targetAlphabetsourceAlphabet より長い場合、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                      |
+---------------------------+
Copy

「X」を「c」に、「Y」を「e」に、「Z」を「f」に翻訳し、「❄」文字を削除します。

SELECT TRANSLATE('❄a❄bX❄dYZ❄','XYZ❄','cef');
+--------------------------------------+
| TRANSLATE('❄A❄BX❄DYZ❄','XYZ❄','CEF') |
|--------------------------------------|
| abcdef                               |
+--------------------------------------+
Copy