NVL,NVL2,NULLIF,COALESCE

一、NVL(exp1,exp2)
--如果第一个参数的值不为空,则返回第一个参数的值;否则,返回第二个参数的值。
SQL> select NVL(1000,12) FROM DUAL;
NVL(1000,12)
1000

SQL> select NVL(null,12) FROM DUAL;
NVL(NULL,12)
12

二、NVL2(exp1,exp2,exp3)
--如果第一个参数的值非空,返回第二个参数的值;否则,返回第三个参数的值。
SQL> SELECT NVL2(12,1,-1) FROM dual;
NVL2(12,1,-1)
1

SQL> SELECT NVL2(null,1,-1) FROM dual;
NVL2(NULL,1,-1)
-1

三、NULLIF(exp1,exp2)
--如果exp1与exp2相等,则返回空;否则,返回exp1。
SQL> SELECT NULLIF(12,12) FROM dual;
NULLIF(12,12)
NULL

SQL> SELECT NULLIF(12,2) FROM dual;
NULLIF(12,2)
12

四、COALESCE(exp1,exp2,exp3,.......expn)
--功能与NVL相似,只不过他表示exp1为空则看exp2,否则返回exp1;同理,如果exp2也为空,返回exp3,否则,返回xep2;
SQL> SELECT COALESCE(null,3,4,null) FROM dual;
COALESCE(NULL,3,4,NULL)
3

SQL> SELECT COALESCE(null,null,4,null) FROM dual;
COALESCE(NULL,NULL,4,NULL)
4

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

推荐阅读更多精彩内容

  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 1,820评论 0 2
  • 在介绍这个之前你必须明白什么是oracle中的空值null1.NVL函数**NVL函数的格式如下:NVL(expr...
    simple_no1阅读 480评论 0 2
  • 第一天 7月13日OCP笔记: Oracle Ocp11g准备资料: OracleFundmentals 书 管理...
    fjxCode阅读 2,843评论 0 4
  • 我想这个时候应该听一首安静的歌,细细的来思考我对今后的选择。 一天的不安及内心的不淡定在回家的那一刻变一下子放的轻...
    草莓颗颗阅读 188评论 0 0
  • 人但有恒~事无不成
    d0c64a4bb843阅读 882评论 0 0