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