http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions001.htm#autoId2

 

本文内容

  • 返回字符值的字符函数
  • 附录 ASCII

 

Oracle 字符函数包括:

 

返回字符值的字符函数

返回字符值的字符函数会返回如下数据类型:

  • 若输入参数为 CHARVARCHAR2 类型,则返回值为 VARCHAR2 类型。
  • 若输入参数为 NCHARNVARCHAR2 类型,则返回值为 NVARCHAR2 类型。

函数返回值的长度由返回数据类型的最大长度决定:

  • 对于返回 CHARVARCHAR2 的函数,若返回值的长度超过限制,则 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 可以是 CHARVARCHAR2NCHARNVARCHAR2CLOBNCLOB。返回的字符串值与 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>

相关文章: