zoukankan      html  css  js  c++  java
  • NVL函数(NVL,NVL2,NULLIF,COALESCE)

    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> 
  • 相关阅读:
    flex + bison multiple parsers
    Educational Codeforces Round 95 (Rated for Div. 2)
    python学习笔记 day20 序列化模块(二)
    python学习笔记 day20 常用模块(六)
    python 学习笔记 常用模块(五)
    python学习笔记 day19 常用模块(四)
    python学习笔记 day19 常用模块(三)
    python学习笔记 day19 常用模块(二)
    python学习笔记 day19 作业讲解-使用正则表达式实现计算器
    python学习笔记 day19 常用模块
  • 原文地址:https://www.cnblogs.com/rusking/p/4644792.html
Copyright © 2011-2022 走看看