TRANSLATE ... USING

構文

目的

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
. . .