Oracle經常使用函數系列之七:空檢查換函數

本文將演示Oracle中的NVLNVL2函數的用法。函數

函數code

功能blog

NVL(x,value)ip

若是x爲空,返回value,不然返回xget

NVL2(x,value1,value2)table

若是x非空,返回value1,不然返回value2基礎

下面將結合實例對這兩個函數進行介紹。im

NVL(x,value)img

若是x爲空,返回value,不然返回x。tab

示例1對工資SAL是1500元如下的員工,若是沒有發獎金,每人獎金200元。

SQL> SELECT ENAME,JOB,SAL,COMM,NVL(COMM,200) FROM EMP WHERE SAL<1500;

 

ENAME      JOB              SAL       COMM NVL(COMM,200)

---------- --------- ---------- ---------- -------------

SMITH      CLERK            800                      200

WARD       SALESMAN        1250        500           500

MARTIN     SALESMAN        1250       1400          1400

ADAMS      CLERK           1100                      200

JAMES      CLERK            950                      200

MILLER     CLERK           1300                      200

 

已選擇6行。

 

NVL2(x,value1,value2)

若是x非空,返回value1,不然返回value2。

2對EMP表中工資爲1500元如下的員工,若是沒有獎金,則獎金爲200元,若是有獎金,則在原來的獎金基礎上加100元。

SQL> SELECT ENAME,JOB,SAL,COMM,NVL2(COMM,200,100) FROM EMP WHERE SAL<1500;

 

ENAME      JOB              SAL       COMM NVL2(COMM,200,100)

---------- --------- ---------- ---------- ------------------

SMITH      CLERK            800                           100

WARD       SALESMAN        1250        500                200

MARTIN     SALESMAN        1250       1400                200

ADAMS      CLERK           1100                           100

JAMES      CLERK            950                           100

MILLER     CLERK           1300                           100

 

已選擇6行。

相關文章
相關標籤/搜索