NULL计算之后结果还是NULL
可以使用NVL函数,可以将一个指定的NULL值变为指定的内容
SQL> select empno,ename,NVL(comm,0),(sal+NVL(comm,0))*12 income from emp;
EMPNO ENAME NVL(COMM,0) INCOME
---------- ---------- ----------- ----------
7369 SMITH 0 9600
7499 ALLEN 300 22800
7521 WARD 500 21000
7566 JONES 0 35700
7654 MARTIN 1400 31800
7698 BLAKE 0 34200
7782 CLARK 0 29400
7788 SCOTT 0 36000
7839 KING 0 60000
7844 TURNER 0 18000
7876 ADAMS 0 13200
7900 JAMES 0 11400
7902 FORD 0 36000
7934 MILLER 0 15600
如果需要进行计算的时候,对于NULL必须使用NVL()函数进行一个转换操作。
DECODE()函数,类似于IF...ELSEIF...ELSE语句
DECODE(col/expression,search1,result1[,search2,resultf2....][default])
SQL> select DECODE(1,1,'内容是1',2,'内容是2')from dual;
DECODE(
-------
内容是1