TRANSLATE ... USING
構文
目的
TRANSLATE ... USINGは、charをデータベース文字セットと各国語文字セット間の変換に指定された文字セットに変換します。
ノート:
TRANSLATE ... USINGは、主にANSIとの互換性のためにサポートされているファンクションです。TO_CHARおよびTO_NCHARファンクションを使用してデータをデータベース文字セットまたは各国語文字セットに適切に変換することをお薦めします。TO_CHARおよびTO_NCHARは、文字データのみを受け入れるTRANSLATE ... USINGに比べ、より多くのデータ型を引数として取ることができます。
引数charは変換する式です。
-
USINGCHAR_CS引数を指定すると、charがデータベース文字セットに変換されます。出力データ型はVARCHAR2です。 -
USINGNCHAR_CS引数を指定すると、charが各国語文字セットに変換されます。出力データ型はNVARCHAR2です。
このファンクションは、OracleのCONVERTファンクションに似ていますが、入力または出力のデータ型にNCHARまたはNVARCHAR2を使用する場合は、CONVERTではなくこのファンクションを使用する必要があります。入力にUCS2コードポイントまたはバックスラッシュ(\)が含まれる場合は、UNISTRファンクションを使用してください。
関連項目:
-
TRANSLATE...USINGの文字の戻り値に割り当てる照合を定義する照合導出ルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。
例
次の文は、サンプル表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
. . .