構文

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