NVL

语法:NVL( expr1, expr2)   

功能:如果expr1为NULL,则NVL函数返回expr2的值,否则返回expr1的值,如果两个参数的都为NULL ,则返回NULL。   

注意事项:expr1和expr2必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。

SQL> select nvl(1,null) from dual;
NVL(1,NULL)
-----------
1 SQL> select nvl(null,2) from dual;
NVL(NULL,2)
-----------
2 SQL> select nvl(1,2) from dual;
NVL(1,2)
----------
1 SQL> select nvl(null,null) from dual;
NVL(NULL,NULL)
-------------- SQL>

NVL2

语法:NVL2(expr1,expr2,expr3)

功能:如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值;如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值。

SQL>  select nvl2(null,2,3) from dual;
NVL2(NULL,2,3)
--------------
3 SQL> select nvl2(1,null,3) from dual;
NVL2(1,NULL,3)
-------------- SQL> select nvl2(1,2,3) from dual;
NVL2(1,2,3)
-----------
2 SQL>

NULLIF

语法:NULLIF ( expression1 , expression2 )   

参数:expression1,expression2 常量、列名、函数、子查询或算术运算符、按位运算符以及字符串运算符的任意组合。   

返回类型:返回类型与第一个 expression1 相同。   

输出结果:如果两个表达式不相等,NULLIF 返回第一个 expression1 的值。如果两个表达式相等,NULLIF 返回空值NULL。

SQL> select nullif(1,2) from dual;
NULLIF(1,2)
-----------
1 SQL> select nullif(1,1) from dual;
NULLIF(1,1)
----------- SQL>

COALESCE

语法:COALESCE ( expression [ ,...n ] )

参数:expression 任何类型的表达式。n表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。

返回类型:将相同的值作为 expression 返回。

作用:返回表达式中第一个非空表达式

注意:如果所有自变量均为 NULL,则 COALESCE 返回 NULL 值。  

COALESCE(expression1,...n) 与此 CASE 函数等价:   

CASE   WHEN (expression1 IS NOT NULL) THEN expression1   ...   

WHEN (expressionN IS NOT NULL) THEN expressionN   

ELSE NULL

SQL> select coalesce(null,null,null,2,null) from dual;
COALESCE(NULL,NULL,NULL,2,NULL
------------------------------
2 SQL> select coalesce(null,1,null,2,null) from dual;
COALESCE(NULL,1,NULL,2,NULL)
----------------------------
1 SQL> select coalesce(null,null,null,null,null) from dual;
COALESCE(NULL,NULL,NULL,NULL,N
------------------------------ SQL>

NVL函数(NVL,NVL2,NULLIF,COALESCE)的更多相关文章

  1. oracle几个函数整理 DECODE() NVL NVL2 NULLIF Coalesce(转)

    DECODE() decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值 ...

  2. oracle NVL,NVL2,NULLIF,COALESCE

    Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...

  3. Oracle NVL 函数 nvl nvl2

    Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...

  4. Oracle的nvl函数和nvl2函数

    一.基本语法 介绍一下oracle的nvl函数和nvl2函数. nvl函数 nvl函数基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1. nvl2函数 nvl2函 ...

  5. 函数nvl,nvl2,nullif,coalesce

    NVL: Converts a null value to an actual valueNVL2:If expr1 is not null, NVL2 returns expr2. If expr1 ...

  6. oracle通用函数,nvl,nvl2,NULLIF ,coalesce

    Oracle 通用函数 ① NVL 函数--------将空值转换成一个已知的值: 可以使用的数据类型有日期.字符.数字. 函数的一般形式:   NVL(commission_pct,0)       ...

  7. nvl()函数和nvl2()函数

    如果你某个字段为空,但是你想让这个字段显示0,可以使用nvl(字段名,0),当然这个0也可以换成其他东西,如:1,2,3…… 一 NVL(表达式1,表达式2) 如果表达式1为空值,NVL返回值为表达式 ...

  8. Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用

    首先注意空(null)值,空值加任何值都是空值,空值乘任何值也都是空值,依此类推. 1.NVL函数 NVL函数的格式如下:NVL(expr1,expr2) 含义是:如果oracle第一个参数为空那么显 ...

  9. SQL Fundamentals || Single-Row Functions || 通用函数 General function || (NVL,NVL2,NULLIF,DECODE,CASE,COALESCE)

    SQL Fundamentals || Oracle SQL语言 SQL Fundamentals: Using Single-Row Functions to Customize Output使用单 ...

随机推荐

  1. rhel Linux 网络配置

    --网络配置 vi /etc/sysconfig/network-scripts/ifcfg-eth0 1)DHCPDEVICE=eth0BOOTPROTO=dhcpONBOOT=yes2)静态IP  ...

  2. js获取当前的时间(包含星期)

    <script type="text/javascript">        setInterval("www_zzje_net.innerHTML=new ...

  3. 使用angularjs中ng-repeat的$even与$odd属性时的注意事项

    JavaScript中数组的索引是从0开始的,因此我们再取奇偶的时候需要用!$even和!$odd来将$even和$odd的布尔值反转 下面给出一个实例: 使用$odd和$even来制作一个红蓝相间的 ...

  4. progit-zh(Git中文文档)

    发现好像在墙外,还是下载下来看会快点 链接: http://pan.baidu.com/s/1o8EiDMq 密码: vzf9

  5. 读书笔记_Effective_C++_条款二十一:当必须返回对象时,别妄想返回其reference

    在栈空间的临时成员变量在函数生命期结束后无法传出 friend A& operator*(const A& a, const A& b) { A temp; temp.data ...

  6. Sudoku Killer

    算法:深搜 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会将数独列为一个单独的项目进行比赛,冠军将有可能获得的一份 ...

  7. R0:前瞻

    原文链接http://www.wangafu.net/~nickm/libevent-book/Ref0_meta.html Libevent使用手册:前瞻 总览: Libevent是一个用来写高性能 ...

  8. Heroku使用

    先要生成一个公钥,使用命令:$ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save ...

  9. 关于t分布的证明

  10. python 各模块

    01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...