ORACLE常用函数

oracle常用函数
NVL(x1,x2):当x1为null时返回X2,否则返回x1。

update emp set salary=(salary+nvl(bonus,0)*1.1

 

ASCII(c):c是一字符串,返回c第一个字母的ASCII码,他的逆函数是CHR()

select ASCII('A') BIG_A,ASCII('z') BIG_z FROM student

 

CHR(<i>)[NCHAR_CS]
i是一个数字,函数返回十进制表示的字符

select CHR(65),CHR(122),CHR(23) FROM student

 

CONCAT(c1,c2)
c1,c2均为字符串,函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,则返回null。他和操作符返回的结果相同

select concat('tom','marry')username from student 

 

INITCAP()
c1为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号分隔。

select INITCAP('tom,marry,hello')username from student

返回结果为 Tom,Marry,Hello


LENGTH(c)
c为字符串,返回c的长度,如果c为null,那么将返回null值。

select LENGTH('ABCDEFG')LENGTH from student

 

LENGTHB(C)
与LENGTH()一样,返回字节。

SELECT LENGTHB('TOM') FROM STUDENT

返回3


lower(c)
返回c的小写字符,经常出现在where子串中

DECODE(x,m1,r1,m2,r2,m3,r3,m4,r4,m5,r5,...rr)
x是一个表达式,m1是一个匹配表达式,x与m1比较,如果m1等于x,那么返回r1,否则,x与m2比较,依次类推m3,m4,m5....直到有返回结果。如果都不等则返回rr

select decode('2','1','1','2','2','3','3','4')from dual;

返回2



posted @ 2017-10-31 14:50  灬司马安福灬  阅读(150)  评论(0编辑  收藏  举报