DECOMPOSE
構文
目的
DECOMPOSE
は、1番目の引数として文字値string
を取り、Unicode分解の1つをこの値に適用した結果を返します。適用する分解は、2番目のオプション・パラメータによって決まります。1番目の引数の文字セットがUnicode文字セットのいずれでもない場合、DECOMPOSE
は引数を変更せずに返します。
DECOMPOSE
の2番目の引数が文字列CANONICAL
(大/小文字区別なし)である場合、DECOMPOSE
は、Unicode規格の定義D68で説明されているように正規分解を適用し、NFD正規化フォームで文字列を返します。2番目の引数が文字列COMPATIBILITY
である場合、DECOMPOSE
は、Unicode規格の定義D65で説明されているように互換性分解を適用し、NFKD正規化フォームで文字列を返します。デフォルトの動作では、正規分解が適用されます。
ペシミスティック・ケースでは、DECOMPOSE
の戻り値がstring
より数倍長くなる場合があります。特定の実行時環境において、返される文字列がVARCHAR2
値の最大長より長い場合、値は警告なしにVARCHAR2
の最大長に切り捨てられます。
DECOMPOSE
の両方の引数には、CHAR
、VARCHAR2
、NCHAR
またはNVARCHAR2
のいずれかのデータ型を指定できます。他のデータ型は、VARCHAR2
またはNVARCHAR2
に暗黙的に変換できる場合に許可されます。DECOMPOSE
の戻り値は、その1番目の引数と同じ文字セットで返されます。
暗黙的な変換を使用して、CLOB
およびNCLOB
の値がサポートされます。string
が文字のLOB値の場合、DECOMPOSE
演算の前にVARCHAR2
値に変換されます。特定の実行環境で、LOB値のサイズがVARCHAR2
のサポートする長さを超える場合、この演算は失敗します。
関連項目:
-
Unicode文字セットおよび文字セマンティクスの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
-
DECOMPOSE
の文字の戻り値に割り当てる照合を定義する照合導出ルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。
例
次の例では、文字列「Châteaux
」をその要素のコードポイントに分解します。
SELECT DECOMPOSE ('Châteaux') FROM DUAL; DECOMPOSE --------- Châteaux
ノート:
この例の結果は、ご使用のオペレーティング・システムの文字セットによって異なる場合があります。