oracle常用函数

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 ---------- --------

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4