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. F# 既能解释执行,也能编译执行

    F# 除了是函数式语言和面向对象语言之外,还有个突出的特点是:既能解释执行,也能编译执行.   一般说来,一种语言只能选择其一种.比如说C++.C#是编译执行,不能解释执行,象Matlab.R是解释执 ...

  2. XAML 命名空间和命名空间映射

    本主题将介绍大部分 XAML 文件的根元素中存在的 XML/XAML 命名空间 (xmlns) 映射.它还将介绍如何为自定义类型和程序集生成类似的映射. XAML 命名空间如何与代码定义和类型库相关 ...

  3. Oracle 如何让别人能够连接到你的数据库

    Oracle 初步 --Oracle的一些关键字 i和g只是版本的代号,指oracle运用的技术i代表Internet就是互联网技术g代表grid就是网格技术现在出的最新版是c就是cloud也就是云技 ...

  4. 解析c语言背后的汇编代码

    源码 很简单的c语言代码,作用是交换两个数: #include <stdio.h> void swap(int * a, int * b) { *a = *a + *b - (*b = * ...

  5. 多维背包 hrbudt 1335 算法与追MM

    hrbust #include<string.h> //多进制储存数,第i位进制维back[i]+1,可以避免重复 #include<stdio.h> using namesp ...

  6. javascript学习教程之---如何从一个tab切换到banner幻灯片的转换2

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. Apache之AllowOverride参数详解

    通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里.但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对 ...

  8. memcached学习笔记——存储命令源码分析下篇

    上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...

  9. A + B Problem,hdu-1000

    A + B Problem Problem Description Calculate A + B.   Input Each line will contain two integers A and ...

  10. Hibernate学习笔记--Hibernate框架错误集合及解决

    错误1:MappingException: Unknown entity解决方案 http://jingyan.baidu.com/article/e75aca8552761b142edac6cf.h ...