Oracle NLS_INITCAP() 函数使用指南

Oracle NLS_INITCAP() 是一个内置函数,它将给定的字符串中的每个单词的首字母转为大写,其他字母转为小写。

Oracle NLS_INITCAP() 语法

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

NLS_INITCAP(str [, 'nlsparam' ])

参数

str

必需的。它可以是 CHAR, VARCHAR2, NCHAR, 或 NVARCHAR2 中的任意数据类型。 该函数不直接支持 CLOB 数据。但是,CLOB 值可以通过隐式数据转换作为参数传入。

'nlsparam'

可选的。您可以使用这个 'NLS_SORT = sort' 形式设置此参数,其中 sort 是排序规则的名称。排序规则为大小写转换处理特殊语言的要求。如果您省略此参数,则排序规则由函数确定。

返回值

Oracle NLS_INITCAP() 函数返回一个字符串,它将参数指定的字符串中的每个单词的首字母转为大写,其他字母转为小写。

如果任意一个参数为 NULLNLS_INITCAP() 将返回 NULL

Oracle NLS_INITCAP() 示例

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

基本用法

没有 'nlsparam' 参数时, NLS_INITCAP()INITCAP() 是相同的。

SELECT
    INITCAP('hello world') "INITCAP('hello world')",
    NLS_INITCAP('hello world') "NLS_INITCAP('hello world')"
FROM dual;

输出:

INITCAP('hello world')    NLS_INITCAP('hello world')
_________________________ _____________________________
Hello World               Hello World

排序规则

Oracle NLS_INITCAP() 函数允许您指定排序规则以处理特殊语言的规则。比如在荷兰语言中, ij 是同一个字母,转为大写应该为 IJ 而不是 I。请看下面的示例:

SELECT
    NLS_INITCAP('ijsland') "Result1",
    NLS_INITCAP('ijsland', 'NLS_SORT = XDutch') "Result2"
FROM dual;

输出:

Result1    Result2
__________ __________
Ijsland    IJsland

NULL 参数

如果任意一个参数为 NULLNLS_INITCAP() 将返回 NULL

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

输出:

NLS_INITCAP(NULL)
________________
NULL

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

结论

Oracle NLS_INITCAP() 是一个内置函数,它将给定的字符串中的每个单词的首字母转为大写,其他字母转为小写。