DECODE
DECODE函数的作用:它可以将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。
例:
select decode(t.name,‘麦克’,1,‘约翰’,2,‘玛丽’,3,‘杰瑞’,4,5) as emp_num from dual t
5为匹配不到时的默认值
也可以用做排序:select * from dual t order by decode(t.name,‘麦克’,1,‘约翰’,2,‘玛丽’,3,‘杰瑞’,4,5)
nullif
nullif(length(first_name),length(last_name))
如果两个参数值相等,则返回 null ,如果两个参数不等,则返回第一个表达式值
nvl
nvl(COMMISSION_PCT,0)
如果第一个参数为null,则返回第二个参数,如果第一个参数为非null,则返回第一个参数
NVL2
NVL2(COMMISSION_PCT,‘SAL_COMM’,‘SAL’)
如果第一个参数为null,则返回第三个参数 ,如果第一个参数为非null,则返回第二个参数
COALESCE
COALESCE(EXPR1,EXPR2,EXPR3…EXPRn)
从左往右数,遇到第一个非null值,则返回该非null值。 多层判断