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