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の両方の引数には、CHARVARCHAR2NCHARまたはNVARCHAR2のいずれかのデータ型を指定できます。他のデータ型は、VARCHAR2またはNVARCHAR2に暗黙的に変換できる場合に許可されます。DECOMPOSEの戻り値は、その1番目の引数と同じ文字セットで返されます。

暗黙的な変換を使用して、CLOBおよびNCLOBの値がサポートされます。stringが文字のLOB値の場合、DECOMPOSE演算の前にVARCHAR2値に変換されます。特定の実行環境で、LOB値のサイズがVARCHAR2のサポートする長さを超える場合、この演算は失敗します。

関連項目:

次の例では、文字列「Châteaux」をその要素のコードポイントに分解します。

SELECT DECOMPOSE ('Châteaux')
  FROM DUAL; 

DECOMPOSE
---------
Châteaux

ノート:

この例の結果は、ご使用のオペレーティング・システムの文字セットによって異なる場合があります。