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

本文详细介绍了Oracle数据库中的NVL和NVL2函数,并通过具体示例展示了这两种函数的应用场景。NVL函数用于当输入为空时提供替代值,而NVL2则根据输入是否为空决定返回两个不同值中的哪一个。

本文将演示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行。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值