ASCII(n)函数:返回字符串的ASCII码(当输入为字符串时返回第一个字符的ASCII码)
SELECT ASCII('abc') FROM dual;
结果:97
CONCAT(n,m)函数:连接n和m,n和m可以试字符,也可以是字符串。作用和“||”一样。
LENGTH(n)函数:返回字符或字符串的长度
结果:5
VSIZE(value)函数:获得value的内部表示的字节数.如果value是NULL,结果是NULL.
select vsize('Hello')from dual;
结果:5
DUMP(expr[,return_fmt[,start_position][,length]])函数:用于返回表达式所对应的数据类型代码,长度,以及内部格式。当完全没有参数时,直接返回null。
return_fmt:指返回参数的格式,有5种用法:
1)8:以8进制返回结果的值
2)10:以10进制返回结果的值(默认)
3)16:以16进制返回结果的值
4)17:以单字符的形式返回结果的值
5)1000:以上4种加上1000,表示在返回值中加上当前字符集
start_position:开始进行返回的字符位置
length:需要返回的字符长度
select dump('Hello',1010) from dual;
结果:Typ=96 Len=5 CharacterSet=ZHS16GBK: 72,101,108,108,111
LTRIM(chr,TRIM_STR)函数:去掉字符串chr左边包含的TRIM_STR字符串中的任何字符,直到出现一个不包含在TRIM_STR中的字符为止。TRIM_STR可选,缺省截去空格
结果:Hello***%
结果:**a***Hello
结果:Hello
结果:121ab
结果:ab121
INITCAP(n)函数:将字符串n中每个单词首字母大写。
SELECT INITCAP('abcde') FROM dual;
结果:Abcde
LOWER(n)函数:将n转为小写
SELECT LOWER('HELLO') FROM dual;
结果:hello
UPPER(n)函数:将n转为大写
SELECT UPPER('hello') FROM dual;
结果:HELLO
NLS_INITCAP(chr[,nlsparams])函数:将chr首字母大写。nlsparams指定了不同于该会话缺省值的不同排序序列。如果不指定参数,则功能和INITCAP相同。Nlsparams可以使用的形式是:‘NLS_SORT=sort’ 这里sort制订了一个语言排序序列。
nls_sort=SCHINESE_RADICAL_M(部首、笔画)
nls_sort=SCHINESE_STROKE_M(笔画、部首)
nls_sort=SCHINESE_PINYIN_M(拼音)
SELECT NLS_INITCAP('ab cd','nls_sort=SCHINESE_STROKE_M') FROM dual;
结果:Ab Cd
NLS_LOWER(string[,nlsparams])函数:返回字符串中的所有字母都是小写形式的string。不是字母的字符不变。Nlsparams参数的形式与用途和NLS_INITCAP中的nlsparams参数是相同的。如果nlsparams没有被包含,那么NLS_LOWER所作的处理和LOWER相同。
结果:ab cd
NLS_UPPER(string[,nlsparams])函数:返回字符串中的所有字母都是大写的形式的string。不是字母的字符不变。nlsparams参数的形式与用途和NLS_INITCAP中的相同。如果没有设定参数,则NLS_UPPER功能和UPPER相同。
SELECT NLS_UPPER('ab cd','nls_sort=SCHINESE_STROKE_M') FROM dual;
结果:AB CD
NLSSORT(col[,nls_param])函数:根据nls_param指定的方式对col字段进行排序
select * from TEST order by NLSSORT(课程,'nls_sort=SCHINESE_PINYIN_M')
INSTR(string1,string2[,start_position[,nth_appearance]])函数:instr是一个非常好用的字符串处理函数,几乎所有的字符串分隔都用到此函数。返回要截取的字符串string2在源字符串string1中按正向排列得出的位置。start_position和nth_appearance可选,省略默认为1;start_position代表开始查找的起始位置,如果此参数为负,从尾部开始检索;nth_appearance代表字符串出现的次数。
SELECT INSTR('Hello world','o',6,1) FROM dual;结果:8
SUBSTR(chr,start,length)函数:是从给定的字符表达式或备注字段中返回一个子字符串,start代表开始位置,截取length个字符,缺省length,默认到结尾
SELECT SUBSTR('ABCDE',2,3) FROM dual;结果:BCD
REPLACE(chr,old,new)函数:在chr中查找old,并替换成new,当old为null时,返回chr;当new为null时,返回chr中截取掉old部分的字符串。
SELECT REPLACE('ABCDE','CD','123')FROM dual;结果:AB123E
TRANSLATE(string,from_str,to_str)函数:将字符string按照from_str与to_str的对应规则进行处理,返回将所出现的from_str中的每个字符替换为to_str中的相应字符以后的string. TRANSLATE是REPLACE所提供的功能的一个超集.如果from_str比to_str长,那么在from_str中而不在to_str中而外的字符将从string中被删除,因为它们没有相应的替换字符. to_str不能为空.Oracle把空字符串认为是NULL,并且如果TRANSLATE中的任何参数为NULL,那么结果也是NULL.
Select TRANSLATE('ABCDE','CD','123') from dual
结果:AB12E
SOUNDEX(string)函数:返回string的声音表示形式.这对于比较两个拼写不同但是发音类似的单词而言很有帮助,如果字符发音相同,则返回的结果会一致.
SQL> create table table1(xm varchar(8));
SQL> insert into table1 values('weather');
SQL> insert into table1 values('wether');
SQL> insert into table1 values('gao');
select xm from table1 where soundex(xm)=soundex('weather');
结果:weather
wether