nvl,vnl2,nullif
nvl:如果expr1空则expr2,如果expr1非空则返回expr1. 这里的nvl函数两个形式参数的数据类型要一致
例如:selecte ename,sal+nlv(comm,0) from emp
select ename,nvl(to_char(mgr),'no manager') from emp
nvl2:expr1空则expr3,如果expr1非空则返回expr2
例如:select ename,nvl2(comm,sal+comm,sal) from emp
nullif:如果expr1=expr2返回空,如果expr1!=expr2返回expr1
给不同的部门增加不同的工资
例一:
select ename,job,sal,
case job when 'CLERK' 1.1*sal
when 'SALESMAN' 1.2*sal
when 'ANALYST' 1.5*sal
else sal end "rice"
from emp;
例二:
select ename,job,sal,
decode(job,'CLERK' 1.1*sal,
'SALESMAN' 1.2*sal,
'ANAYLST' 1.3*sal,sal) "rice" from emp;