構文
用途
TRANSLATE
... USING
は、char
をデータベース・キャラクタ・セットと各国語キャラクタ・セット間の変換に指定されたキャラクタ・セットに変換します。
注意: TRANSLATE ... USING は、主にANSIとの互換性のためにサポートされているファンクションです。TO_CHAR およびTO_NCHAR ファンクションを使用してデータをデータベース・キャラクタ・セットまたは各国語キャラクタ・セットに適切に変換することをお薦めします。TO_CHAR およびTO_NCHAR は、文字データのみを受け入れるTRANSLATE ... USING に比べ、より多くのデータ型を引数として取ることができます。 |
引数char
は変換する式です。
USING
CHAR_CS
引数を指定すると、char
がデータベース・キャラクタ・セットに変換されます。出力データ型はVARCHAR2
です。
USING
NCHAR_CS
引数を指定すると、char
が各国語キャラクタ・セットに変換されます。出力データ型はNVARCHAR2
です。
このファンクションは、OracleのCONVERT
ファンクションに似ていますが、入力または出力のデータ型にNCHAR
またはNVARCHAR2
を使用する場合は、CONVERT
ではなくこのファンクションを使用する必要があります。入力にUCS2コードポイントまたはバックスラッシュ(\)が含まれる場合は、UNISTR
ファンクションを使用してください。
例
次の文は、サンプル表oe.product_descriptions
のデータを使用して、TRANSLATE
... USING
ファンクションの使用方法を示しています。
CREATE TABLE translate_tab (char_col VARCHAR2(100), nchar_col NVARCHAR2(50)); INSERT INTO translate_tab SELECT NULL, translated_name FROM product_descriptions WHERE product_id = 3501; SELECT * FROM translate_tab; CHAR_COL NCHAR_COL -------------------- -------------------------------------------------- . . . C pre SPNIX4.0 - Sys C pro SPNIX4.0 - Sys C til SPNIX4.0 - Sys C voor SPNIX4.0 - Sys . . . UPDATE translate_tab SET char_col = TRANSLATE (nchar_col USING CHAR_CS); SELECT * FROM translate_tab; CHAR_COL NCHAR_COL ------------------------- ------------------------- . . . C per a SPNIX4.0 - Sys C per a SPNIX4.0 - Sys C pro SPNIX4.0 - Sys C pro SPNIX4.0 - Sys C for SPNIX4.0 - Sys C for SPNIX4.0 - Sys C til SPNIX4.0 - Sys C til SPNIX4.0 - Sys . . .