zoukankan      html  css  js  c++  java
  • oracle函数nvl, nvl2, nullif

    nvl函数

    语法: NVL(表达式1, 表达式2)

    select nvl(s.name, '未填写') from student s

    如果表达式1的值为空, 则显示第二个值, 否则显示原来的值, 

    nvl2函数

    语法: NVL2(表达式1, 表达式2, 表达式3)

    select nvl(s.name, 'a', 'b') from student s

    如果表达式1的值不为空, 显示表达式2, 为空的话显示表达式3

    这两个函数还有一个重大的区别, NVL函数中表达式1和表达式2的值必须为同一类型, 

    但除去另外一种情况, 当传入的参数为字符串类型时, oracle会先尝试转换成数字, 如果无法转换成数字则会报错, 能转换成功则会正常运行

    而NVL2中没有此限制

    NULLIF(表达式1, 表达式2)

    语法: NULLIF(表达式1, 表达式2)

    select nullif('a', 'b') from dual

    如果表达式1与表达式2相等, 则返回空, 不相等则返回表达式2, 其中表达式1和表达式2也必须为同一类型

  • 相关阅读:
    A promise tomorrow is worth a lot less than trying today.
    时间相关函数
    JAVA中日期格式转换各个字母代表含义
    参考链接
    修饰器
    最新提案
    ArrayBuffer
    读懂 ECMAScript 规格
    使用markdown写博客
    linux系统界面转换
  • 原文地址:https://www.cnblogs.com/wgbs25673578/p/8011106.html
Copyright © 2011-2022 走看看