カテゴリ:

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

TRANSLATE

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

注意

この関数は言語間で翻訳しません。自然言語間のテキスト翻訳については、 TRANSLATE (SNOWFLAKE.CORTEX) 関数をご参照ください。

構文

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.

戻り値

この関数は 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;
Copy
+-------------+
| TRANSLATION |
|-------------|
| pena        |
+-------------+

Xc に、 Ye に、 Zf に翻訳し、 の文字を削除します。

SELECT TRANSLATE('❄a❄bX❄dYZ❄','XYZ❄','cef') AS translation;
Copy
+-------------+
| TRANSLATION |
|-------------|
| abcdef      |
+-------------+