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()
函数返回一个字符串,它将参数指定的字符串中的每个单词的首字母转为大写,其他字母转为小写。
如果任意一个参数为 NULL
, NLS_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 参数
如果任意一个参数为 NULL
, NLS_INITCAP()
将返回 NULL
。
SET NULL 'NULL';
SELECT
NLS_INITCAP(NULL)
FROM dual;
输出:
NLS_INITCAP(NULL)
________________
NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle NLS_INITCAP()
是一个内置函数,它将给定的字符串中的每个单词的首字母转为大写,其他字母转为小写。