ORACLE常用函数汇总
函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句, 函数主要分为两大类: 单行函数 组函数
NVL(x1,x2)
NULL值表示一个未知数据或者一个空值,算术操作符的任何一个操作数为NULL值,结果均为提个NULL值,这个规则也适合很多函数,只有CONCAT,DECODE,DUMP,NVL,REPLACE在调用了NULL参数时能够返回非NULL值。在这些中NVL函数时最重要的,因为他能直接处理NULL值,NVL有两个参数:NVL(x1,x2),x1和x2都式表达式,当x1为null时返回X2,否则返回x1。
ASCII()
c1是一字符串,返回c1第一个字母的ASCII码,他的逆函数是CHR() SELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM emp BIG_A BIG_z 65 122
CHR(<i>)[NCHAR_CS]
i是一个数字,函数返回十进制表示的字符
select CHR(65),CHR(122),CHR(223) FROM emp CHR65 CHR122 CHR223 A z B CONCAT(,)
c1,c2均为字符串,函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,则返回null。他和操作符返回的结果相同 select concat('slobo','Svoboda') username from dual username sloboSyoboda
INITCAP()
c1为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号分隔。
SQL> select INITCAP('veni,vedi,vici') Ceasar from dual; CEASAR -------------- Veni,Vedi,Vici
SQL> select INITCAP('veni vedi,vici') Ceasar from dual; CEASAR -------------- Veni Vedi,Vici
INSTR(,[,<i>[,]])
c1,c2均为字符串,i,j为整数。函数返回c2在c1中第j次出现的位置,搜索从c1的第i个字符开始。当没有发现需要的字符时返回0,如果i为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右,i和j的缺省值为1.
select INSTR('Mississippi','i',3,3) from dual ; INSTR('MISSISSIPPI','I',3,3) 11
select INSTR('Mississippi','i',-2,3) from dual; INSTR('MISSISSIPPI','I',3,3) 2
INSTRB(,[,i[,j])
与INSTR()函数一样,只是他返回的是字节,对于单字节INSTRB()等于INSTR() LENGTH()
c1为字符串,返回c1的长度,如果c1为null,那么将返回null值。 select LENGTH('Ipso Facto') ergo from dual; ergo 10
LENGTHb()
与LENGTH()一样,返回字节。
lower()
返回c的小写字符,经常出现在where子串中
select LOWER(colorname) from itemdetail WHERE LOWER(colorname) LIKE '%white%'; Winter white
lpad( string1, padded_length, [ pad_string ] ) 其中string1是需要粘贴字符的字符串
padded_length是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成padded_length;
pad_string是个可选参数,这个字符串是要粘贴到string1的左边,如果这个参数未写,lpad函数将会在string1的左边粘贴空格。 例如:
lpad('tech', 7); 将返回' tech' lpad('tech', 2); 将返回'te'
lpad('tech', 8, '0'); 将返回'0000tech'
lpad('tech on the net', 15, 'z'); 将返回 'tech on the net' lpad('tech on the net', 16, 'z'); 将返回 'ztech on the net'
rpad( string1, padded_length, [ pad_string ] )
这两个函数用来格式化输出的结果。当输出结果位数少于规定的位数,使用LPAD函数在结果的左边添加自定义字符补齐位数,使用RPAD函数在结果的右边添加自定义字符补齐位数。 函数LPAD使用方法:
LPAD (列名,位数,'添加的字符') RPAD的使用原理是一样的。
例如:如果职工的工资不到15位数字,将从工资值的左边添加符号'$'来补齐15位: SELECT last_name, LPAD(salary, 15, '$') SALARY FROM employees Where last_name ='OConnell'; Result:
LAST_NAME SALARY ---------- --------