Oracle COLLATION() 函数使用指南

Oracle COLLATION() 是一个内置函数,它返回给定表达式的派生排序规则的名称。

Oracle COLLATION() 语法

这里是 Oracle COLLATION() 函数的语法:

COLLATION(expr)

参数

expr

必需的。 expr 必须求值为类型为 CHARVARCHAR2LONGNCHARNVARCHAR2 的字符字符串。

返回值

Oracle COLLATION() 函数返回给定表达式的派生排序规则的名称。

此函数返回命名排序规则和伪排序规则。如果派生的排序规则是 Unicode Collation Algorithm (UCA) 排序规则,则函数返回其名称的长格式。此函数在包含它的 SQL 语句编译期间进行评估。如果由于评估 expr 时出现排序规则冲突而导致派生的排序规则未定义,则函数返回 NULL

Oracle COLLATION() 示例

这里有几个展示了 Oracle COLLATION() 函数用法的示例。

基本用法

SELECT COLLATION('Hello')
FROM dual;

输出:

COLLATION('HELLO')
_____________________
USING_NLS_COMP

让我们为 COLLATION() 函数传入一个指定了排序规则的表达式,看看会发生什么:

SELECT COLLATION('Hello' COLLATE LATIN_AI)
FROM dual;

输出:

COLLATION('HELLO'COLLATELATIN_AI)
____________________________________
LATIN_AI

在本示例中,我们传入一个 'Hello' COLLATE LATIN_AI 表达式,它指定了 'Hello' 使用的排序规则为 LATIN_AI,然后 COLLATION() 返回了 LATIN_AI

NULL 参数

如果参数为 NULLCOLLATION() 将返回默认的排序规则。

SET NULL 'NULL';
SELECT
    COLLATION(NULL)
FROM dual;

输出:

COLLATION(NULL)
__________________
USING_NLS_COMP

在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。

结论

Oracle COLLATION() 是一个内置函数,它返回给定表达式的派生排序规则的名称。