• Oracle 中 NULL判断并替换


     在次之前先说一个现象:

    IF '' IS NULL THEN
    DBMS_OUTPUT.put_line('结果: IS NULL 这个可以判断 空字符串(''));
    END IF;

    这段语句在Oracle数据库引擎中执行有输出,说明在Oracle数据库中 XX变量 IS NULL 这个可以判断 空字符串('') 的。

    可用 NVL(), IFNULL() ,COALESCE(),DECODE() 函数

    1.NVL()

    从两个表达式返回一个非 null 值。
    语法
    NVL(eExpression1, eExpression2)
    参数
    eExpression1, eExpression2


    如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。

    返回值类型

    字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值

    2.NULLIF()

    如果两个指定的表达式相等,则返回空值。
    语法NULLIF ( expression1 , expression2 )
    参数expression1, expression2
    常量、列名、函数、子查询或算术运算符、按位运算符以及字符串运算符的任意组合。
    返回类型与第一个 expression1 相同。

    NULLIF与DECODE

               NULLIF(param,0)等效于DECODE(param,0,null,param):如果param为0,则返回null,否则返回param。

    3.COALESCE()

    Oracle COALESCE函数语法为COALESCE(表达式1,表达式2,...,表达式n),n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。

    注意:所有表达式必须为同一类型或者能转换成同一类型。

    4.DECODE()

    decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

    该函数的含义如下:


    IF 条件=值1 THEN
        RETURN(返回值1)
    ELSIF 条件=值2 THEN
        RETURN(返回值2)
        ......
    ELSIF 条件=值n THEN
        RETURN(返回值n)
    ELSE
        RETURN(缺省值)
    END IF

    原文链接:https://www.cnblogs.com/wangfuyou/p/10107137.html

  • 相关阅读:
    flex3 自定义控件
    Android 调用系统搜素框
    Android 自定义控件
    flex拖动时,按下ctrlKey和shiftKey,只执行Move操作
    Mvc4 webApi Json 序列化,日期Java解析失败的解决方法
    Ubuntu下安装Vmware workstation
    Android Activity传递自定义对象
    Flex4 格式化HTML
    Maven 环境搭建
    ActionScript 3 操作XML
  • 原文地址:https://www.cnblogs.com/JourneyOfFlower/p/12801202.html
Copyright © 2020-2023  润新知