Oracle NLS_COLLATION_NAME() 函数使用指南
Oracle NLS_COLLATION_NAME()
是一个内置函数,它根据给定的排序规则 ID 返回对相应的排序规则名称。
Oracle NLS_COLLATION_NAME()
语法
这里是 Oracle NLS_COLLATION_NAME()
函数的语法:
NLS_COLLATION_NAME(collation_id [, flag ])
参数
collation_id
-
必需的。 排序规则 ID。它应该为一个
NUMBER
值。 flag
-
可选的。 可选的
flag
参数仅适用于 Unicode Collation Algorithm (UCA) 排序。该参数确定函数返回排序规则名称的短形式还是长形式。该参数必须是一个字符表达式,求值为值'S'
、's'
、'L'
或'l'
,其含义如下:'S'
或's'
- 返回排序名称的短形式'L'
或'l'
- 返回排序名称的长形式
如果省略
flag
,则默认值为'L'
。
返回值
Oracle NLS_COLLATION_NAME()
函数根据给定的排序规则 ID 返回对相应的排序规则名称。
此函数返回一个 VARCHAR2 值。如果您指定了无效的排序 ID,则该函数返回 null。
如果任意一个参数为 NULL
, NLS_COLLATION_NAME()
将返回 NULL
。
Oracle NLS_COLLATION_NAME()
示例
这里有几个展示了 Oracle NLS_COLLATION_NAME()
函数用法的示例。
基本用法
下面的语句返回 ID 为 16383
的排序规则名称:
SELECT
NLS_COLLATION_NAME(16383)
FROM dual;
输出:
NLS_COLLATION_NAME(16383)
____________________________
BINARY
下面的语句返回 ID 为 147455
的排序规则名称:
SELECT
NLS_COLLATION_NAME(66)
FROM dual;
输出:
NLS_COLLATION_NAME(66)
_________________________
UNICODE_BINARY
flag
参数
Oracle NLS_COLLATION_NAME()
允许您使用 flag
参数指定返回排序规则名称的短形式还是长形式。
下面的示例返回排序规则名称的短形式:
SELECT
NLS_COLLATION_NAME(208897, 'S')
FROM dual;
输出:
NLS_COLLATION_NAME(208897,'S')
_________________________________
UCA0610_DUCET
下面的示例返回排序规则名称的长形式:
SELECT
NLS_COLLATION_NAME(208897, 'L')
FROM dual;
输出:
NLS_COLLATION_NAME(208897,'L')
___________________________________________
UCA0610_DUCET_S4_VS_BN_NY_EN_FN_HN_DN_MN
如果您需要返回排序规则名称的长形式,您可以省略 flag
参数,因为这是默认的行为。下面的示例说明这一点:
SELECT
NLS_COLLATION_NAME(208897)
FROM dual;
输出:
NLS_COLLATION_NAME(208897)
___________________________________________
UCA0610_DUCET_S4_VS_BN_NY_EN_FN_HN_DN_MN
NULL 参数
如果任意一个参数为 NULL
, NLS_COLLATION_NAME()
将返回 NULL
。
SET NULL 'NULL';
SELECT
NLS_COLLATION_NAME(NULL)
FROM dual;
输出:
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle NLS_COLLATION_NAME()
是一个内置函数,它根据给定的排序规则 ID 返回对相应的排序规则名称。