Oracle常用函数系列之七:空检查换函数

原创
2016/12/19 20:49
阅读数 95

本文将演示Oracle中的NVLNVL2函数的用法。

函数

功能

NVL(x,value)

如果x为空,返回value,否则返回x

NVL2(x,value1,value2)

如果x非空,返回value1,否则返回value2

下面将结合实例对这两个函数进行介绍。

NVL(x,value)

如果x为空,返回value,否则返回x。

示例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行。

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部