使用NVL()函数处理null
在数据库之中,null是无法进行计算的,即,在一个熟悉计算之中如果存在了null,则最后的结果也肯定是null。
NVL(comm,0)加入comm是空,那么计算的时候会用0代替
NVL2(comm,comm+sal,sal)
假如comm为空,那么就计算sal;
如果不为空,就计算comm+sal;
NULLIF()函数
NULLIF(表达式一,表达式二)函数的主要功能判断两个表达式的结果是否相等,
不相等就返回表达式一
SELECT NULLIF(1,1),NULLIF(1,2) FROM dual;
result:null 1
DECODE()函数
decode()函数是oracle中最有特色的一个函数,DECODE()函数类似于程序中的if...else.....else if....else,但是
判断的内容都是一个具体的值
测试DECODE()函数
SELECT DECODE(2,1,'FIRST',2,'TWO'),DECODE(2,1,'FIRST','NULL') FROM dual;
result : TWO NULL(默认值null)
例子:
SELECT ename,sal,
DECODE( job,
'CLEARK','业务员',
'SALESMAN','销售人员',
'MANGGER','经理',
'ANALYST','分析员',
'PRESIDENT','总裁')
FROM dual;