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> 
  • 相关阅读:
    考试备忘
    php代码规范
    text-indent: -999px;是什么意思
    MYSQL中的普通索引,主健,唯一,全文索引区别
    Mysql索引介绍及常见索引(主键索引、唯一索引、普通索引、全文索引、组合索引)的区别
    flush privileges是什么意思?
    大长今
    深入理解this对象
    如何将js与HTML完全脱离
    php页面相互调用的知识点
  • 原文地址:https://www.cnblogs.com/rusking/p/4644792.html
Copyright © 2011-2022 走看看