7.52 COLLATION
语法:

目的
排序规则返回expr 的派生排序规则的名称。这个函数返回指定的排序规则和伪排序规则。如果派生的排序规则是 Unicode 排序算法 (UCA) 排序规则,则函数返回其名称的长形式。这个函数是在编译包含它的 SQL 语句时求值的。如果在计算 expr 时由于排序规则冲突而未定义派生排序规则,则函数返回 null 。
expr 必须计算为 CHAR 、 VARCHAR2 、 LONG 、 NCHAR 或 NVARCHAR2 类型的字符串。
这个函数返回一个VARCHAR2 值。
注意:
排序函数只返回数据绑定的排序,而不返回NLS_SORT参数设置的动态排序。因此,对于声明为 COLLATE USING_NLS_SORT的列,函数将返回字符值 'USING_NLS_SORT',而不是会话参数 NLS_SORT的实际值。您可以使用内置函数 SYS_CONTEXT('USERENV', 'NLS_SORT')来获得会话参数 NLS_SORT的实际值。
例子
下面的示例返回表id_table 中列名和 id 的派生排序规则 :
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