UNISTR
構文
目的
UNISTR
は、引数としてテキスト・リテラルまたは文字データに変換する式を取り、各国語文字セットで戻します。データベースの各国語文字セットは、AL16UTF16またはUTF8です。UNISTR
では、文字列への文字のUnicodeエンコーディング値の指定を可能にすることによって、Unicode文字列リテラルがサポートされます。これは、NCHAR
列にデータを挿入する場合などに有効です。
Unicodeエンコーディング値は、\xxxxという形式です。xxxxは、文字のUCS-2エンコーディング形式での16進数値です。補足文字は2つのコード・ユニットとしてエンコードされ、最初のコード・ユニットは上位サロゲート範囲(U+D800からU+DBFF)から、2番目のコード・ユニットは下位サロゲート範囲(U+DC00からU+DFFF)から取得されます。文字列そのものにバックスラッシュを含めるには、文字列の先頭に別のバックスラッシュ(\\)を付けます。
移植性およびデータ保護のために、UNISTR
文字列の引数にはASCII文字およびUnicodeエンコーディング値のみを指定することをお薦めします。
関連項目:
-
Unicodeおよび各国語文字セットの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
-
UNISTR
の文字の戻り値に割り当てる照合を定義する照合導出ルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。
例
次の例では、ASCII文字およびUnicodeエンコーディング値をUNISTR
ファンクションに渡した後、そのUNISTRファンクションによって各国語文字セットで文字列が戻されます。
SELECT UNISTR('abc\00e5\00f1\00f6') FROM DUAL; UNISTR ------ abcåñö