http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions001.htm#autoId2
本文内容
- 返回字符值的字符函数
- 附录 ASCII
Oracle 字符函数包括:
- 返回字符值的字符函数
- NLS 字符函数
- 返回数字值的字符函数
返回字符值的字符函数
返回字符值的字符函数会返回如下数据类型:
- 若输入参数为 CHAR 或 VARCHAR2 类型,则返回值为 VARCHAR2 类型。
- 若输入参数为 NCHAR 或 NVARCHAR2 类型,则返回值为 NVARCHAR2 类型。
函数返回值的长度由返回数据类型的最大长度决定:
- 对于返回 CHAR 或 VARCHAR2 的函数,若返回值的长度超过限制,则 Oracle 数据库截取并返回,不报错。
- 对于返回 CLOB 的函数,若返回值的长度超过限制,则 Oracle 数据库什么都不返回,并抛出异常。
CHR
CONCAT
INITCAP
LOWER
LPAD
LTRIM
NLS_INITCAP
NLS_LOWER
NLSSORT
NLS_UPPER
REGEXP_REPLACE
REGEXP_SUBSTR
REPLACE
RPAD
RTRIM
SOUNDEX
SUBSTR
TRANSLATE
TREAT
TRIM
UPPER
CHR(n)
CHR(n USING NCHAR_CS)
按数据库字符集,返回与 n 二进制等价的 VARCHAR2 字符。它们(参数和返回值)的二进制相同。若指定 USING NCHAR_CS,则按国际化字符集。
对于单字节字符集(single-byte character sets),如果 n>256,则 Oracle 数据库返回与 n 等价的二进制与 256 的模。对于多字节字符集(multibyte character sets),n 必须解决整个代码点。不验证无效的代码点,并且指定无效代码点的结果是不确定的。
该函数参数为 NUMBER 类型,或是任何可以隐式转换成 NUMBER,并返回一个字符。
CONCAT(char1,char2)
连接函数。char1 和 char2 可以是 CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB 或 NCLOB。返回的字符串值与 char1 的字符集相同,而类型依赖于参数的数据类型。
当连接两个不同的数据类型时,Oracle 数据库无损转换返回数据。因此,若其中一个参数为 LOB,则返回值为 LOB。若其中一个参数为国际数据类型,则返回值也是一个国际化数据类型。例如:
- CONCAT(CLOB, NCLOB),返回 NCLOB
- CONCAT(NCLOB, NCHAR),返回 NCLOB
- CONCAT(NCLOB, CHAR),返回 NCLOB
- CONCAT(NCHAR, CLOB),返回 NCLOB
该函数等价于连接运算符(||)。
INITCAP(char)
LOWER(char)
UPPER(char)
NLS_INITCAP(char)
NLS_INITCAP(char,’nlsparam’)
NLS_LOWER(char)
NLS_LOWER(char,’nlsparam’)
NLS_UPPER(char)
NLS_UPPER(char,’nlsparam’)
- INITCAP 头字母转换成大写
- LOWER 所有字符转换成小写
- UPPER 所有字符转换成大写
- NLS_* 开头函数可以指定对特定语言敏感的大小写。
示例 1:演示对特定语言敏感。英语的习惯是头字母大写,但其他语言,就不一定了。
SQL> SELECT NLS_INITCAP('ijsland') "InitCap",
2 NLS_INITCAP('ijsland', 'NLS_SORT = XDutch') as "linguistic-sensitiv"
3 FROM DUAL;
InitCap linguis
------- -------
Ijsland IJsland
SQL>