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

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

函数

功能

NVL(x,value)

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

NVL2(x,value1,value2)

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

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

lNVL(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行。

lNVL2(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行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • oracle 数据库的scott帐号。 <>作为查询条件时,可以使用!= 来替换。 SQL> select * f...
    庄栋栋阅读 6,794评论 0 0
  • 5.多表查询 多表查询 目的:从多张表获取数据 前提:进行连接的多张表中有共同的列 等连接 通过两个表具有相同意义...
    乔震阅读 5,242评论 0 0
  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 5,867评论 0 2
  • 5.DML DML 语句 语句操作语言 INSERT UPDATE DELETE MERGE INSERT 方法:...
    乔震阅读 4,636评论 0 0
  • (一) 天微阴,到处都是云,太阳躲在云里偷笑,笑我是个懒家伙吧?空气中满是宁静,弥漫着...
    脆弱的唯美阅读 3,848评论 3 5