Oracle字符型函数简介(CHR、ASCII)
以下函数接收的全都是字符类型的参数(CHR除外),其中大部分返回字符型数据,小部分返回数字型数据。
(1)CHR(n[USING NCHAR_CS])
该函数将根据相应的字符集,把给定的ASCII码转换为字符。USING NCHAR_CS指明字符集。以下示例将使用默认字符集
语句:
SELECT CHR(65)||CHR(66)||CHR(67) ABC, CHR(54678) FROM DUAL;
结果:
(2)ASCII(char)
返回参数首字母的ASCII码值。与CHR函数相反。参数char的类型,可以是CHAR,VARCHAR2,NCHAR或NVARCHAR2。该返回值以用户使用的字符集为基础,如果用户的数据库字符集是7位的ASCII值,那就得到一ASCII码值。
语句:
SELECT ASCII('明') ,ASCII('Adb'),ASCII('ABC') FROM DUAL;
结果:
(3)LENGTH
得到指定字符串的长度,返回的数值类型是数字。同样的,LENGTH函数也具有扩展形式,具体结构是{[LENGTH]|[LENGTHB]|[LENGTHC]|[LENGTH2]|[LE-NGTH4]}(char),各项参数含义可以参考前面介绍过的函数,这里不再过多解释。其中char是参数。
语句:
SELECT LENGTH('ABCDE我FGHI') FROM DUAL; SELECT LENGTH('ABCDE我FGHI'),LENGTHB('ABCDE我FGHI'),LENGTHC('ABCDE我FGHI'),LENGTH2('ABCDE我FGHI'),LENGTH4('ABCDE我FGHI') FROM DUAL;
结果:
(4)SUBSTR(char,position[,substring_length])
数提供截取字符串的功能,而且该函数有很多的扩展形式,其具体语句结构是{[SUBSTR]|[SUBSTRB]|[SUBSTRC]|[SUBSTR2]|[SUBSTR4]}(char,position[,substring_length])。各参数表示含义如下:
SUBSTR:以字符为单位。
SUBSTRB:以字节为单位。
SUBSTRC:以unicode字符为单位。
SUBSTR2:以UCS2代码点为单位。
SUBSTR4:以UCS4代码点为单位。
char:原始字符串。
position:要截取的字符串的开始位置。默认为1,如果该值为负数,则表示从char的右边算起。
substring_length:截取的长度。
语句:
SELECT SUBSTR('ABCDE我FGHI',5,2),SUBSTR('ABCDE我FGHI',-5,2) FROM DUAL;
结果:
(5)CONCAT(char1,char2)
连接两个参数并返回结果。char2将连接到char1的尾部。其效果和连接符‘||’相似。其中,参数类型可以是CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB、NCLOB。
语句:
SELECT CONCAT('我的','测试!') ,'我的'||'测试!' FROM DUAL;
结果:
接下来:INSTR函数