COLLATION

構文

目的

COLLATIONは、expr用に導出された照合の名前を戻します。このファンクションは、名前付き照合および疑似照合を戻します。導出された照合がUnicode照合アルゴリズム(UCA)に基づく照合である場合、ファンクションは長い形式の名前を戻します。このファンクションは、これを含むSQL文のコンパイル中に評価されます。exprの評価中の照合の競合により、導出された照合が未定義の場合、ファンクションはNULLを戻します。

exprは、CHARVARCHAR2LONGNCHARまたはNVARCHAR2型の文字列と評価される必要があります。

このファンクションは、VARCHAR2値を返します。

ノート:

COLLATIONファンクションは、NLS_SORTパラメータによって設定される動的な照合ではなく、データ・バインドされた照合のみを戻します。このため、COLLATE USING_NLS_SORTとして宣言された列については、ファンクションは、セッション・パラメータNLS_SORTの実際の値ではなく、文字値'USING_NLS_SORT'を戻します。組込みファンクションSYS_CONTEXT('USERENV','NLS_SORT')を使用すると、セッション・パラメータNLS_SORTの実際の値を取得できます。

関連項目:

COLLATIONの文字の戻り値に割り当てる照合を定義する照合導出ルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。

次の例では、表id_table内の列nameidの導出された照合を戻します。

CREATE TABLE id_table
  (name VARCHAR2(64) COLLATE BINARY_AI,
   id VARCHAR2(8) COLLATE BINARY_CI);

INSERT INTO id_table VALUES('Christopher', 'ABCD1234');

SELECT COLLATION(name), COLLATION(id)
  FROM id_table;

COLLATION COLLATION
--------- ---------
BINARY_AI BINARY_CI