一NVL函数是一个空值转换函数

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

如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式1和表达式2的数据类型必须为同一个类型。

对数字型: NVL( comm,0);

对字符型 NVL( TO_CHAR(comm), 'No Commission')

对日期型 NVL(hiredate,' 31-DEC-99')

实用例子:

查询某个员工年薪,如果为空则用0代替

select (sal+nvl(comm,o))*12 from emp where emp.pno=:pno;

这里,comm是未定义的变量,代指数字类型。 nvl返回为0.

二 NVL2(表达式1,表达式2,表达式3)

如果表达式1为空,返回值为表达式3的值。如果表达式1不为空,返回值为表达式2的值。

例如 NVL2(comm,'sal+comm',sal)

NVL2函数测试comm

如果comm为空,就返回sal 的值。如果 comm 不为空(null),就返回表达式 sal+comm的值。

nvl() 和nvl2()相关推荐

  1. NVL 和NVL2函数

    NVL 和NVL2函数 NVL函数: nvl(exp1,exp2) -->判断exp1是否是null,如果exp1不是则返回exp1的值,如果exp1为null则返回exp2 nvl2函数: n ...

  2. oracle+nvlif函数,Oracle中的NVL()、NVL2()、NULLIF()、Coalesce()函数

    大家先来看看下面这道简单的题目: 1.  TEST表包含两个列,TESTCOL定义为数据类型NUMBER(10),TESTCOL_2定义为数据类型VARCHAR2(10).在Oracle中发出下列语句 ...

  3. NVL()、NVL2() 函数的用法

    NVL和NVL2两个函数虽然不经常用,但是偶尔也会用到,所以了解一下. 语法: --如果表达式1为空则显示表达式2的值,如果表达式1不为空,则显示表达式1的值 NVL(表达式1,表达式2);--如果字 ...

  4. NVL、NVL2、NULLIF、COALESCE的区别是什么?

    [DB笔试面试454] NVL.NVL2.NULLIF.COALESCE的区别是什么? NVL.NVL2.NULLIF与COALESCE都是处理当前字段值为空的时候的转换函数.以下将分别对这几个函数进 ...

  5. oracle nvl()和nvl2()

    nvl()和nvl2()是oracle的两个函数,两者有一定的区别. nvl(X1,STR),如果X1为null,则返回STR,不为null,则返回本身的值. nvl(X1,X2,X3),如果X1为n ...

  6. NVl和NVL2的语法使用详解

    在数据库的操作中经常会遇到一些非空的操作,这时就是使用到NVL和NVL2 一,NVL函数是一个空值转换函数 NVL(表达式1,表达式2) 如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式 ...

  7. Oracle中nvl()与nvl2()函数详解

    Oracle中nvl()与nvl2()函数详解: 函数nvl(expression1,expression2)根据参数1是否为null返回参数1或参数2的值: 函数nvl2(expression1,e ...

  8. oracle判断空值的函数nvl2,Oracle nvl、nvl2、nullif、decode、case函数详解

    1.NVL函数 nvl(expr1,expr2),如果expr1为空,则返回expr2: 2.NVL2函数 nvl2(expr1,expr2,expr3),如果expr1为空,则返回expr3,否则返 ...

  9. Oracle NVL()和NVL2()函数

    NVL函数的功能是实现空值的转换,根据第一个表达式的值是否为空值来返回响应的列名或表达式,主要用于对数据列上的空值进行处理,语法格式如:NVL( string1, replace_with),但此函数 ...

  10. oracle的nvl和nvl2

    NVL( string1, replace_with)  功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返 ...

最新文章

  1. 我的Android进阶之旅------gt;Android字符串资源中的单引號问题error: Apostrophe not preceded by 的解决的方法...
  2. itools下载链接被360警告:虚假招聘网站
  3. mysql 中 add2_计算器中的F,4,2,0,ADD2怎么调,MU键有什么用??急急急
  4. SAP成都研究院DevOps那些事
  5. Chrome插件(扩展)
  6. iscsi-分区类型
  7. 《我的第一本算法书》 - 学习记录
  8. oracle中存储过程 =,oracle中的存储过程使用
  9. 案例:控制文件序列号满故障处理和分析
  10. @codeforces - 786E@ ALT
  11. html中如何把选择文件的那个框放到右侧_如何关闭烦人的Mac通知?
  12. 蓝桥杯2020年第十一届Python省赛第五题-排序
  13. 安装keil5时,注册机在解压后消失的解决以及使用注册机破解keil5时,无法破解
  14. android手机无法开机自动启动,手机无法开机怎么刷机?安卓手机救砖教程
  15. Matlab中textscan函数用法
  16. 调用Android自带浏览器打开网页
  17. 记一次Spark中 Container killed by YARN for exceeding memory limits的解决过程
  18. 上海老百姓的胆量 VS 大牌店营业员的势利
  19. Java程序设计 多线程 基础知识题
  20. 微信小程序小打卡前端获取

热门文章

  1. CDH的安装详细步骤
  2. IC笔试牛客网verilog刷题总结四
  3. phpStudy环境变量
  4. RGB-D、TOF深度相机的原理
  5. 老旧小区安防难题成遗留“沉疴” 如何破解?
  6. 小区智能化平台服务器,小区智能化报价
  7. grep 与正则表达式
  8. grep -v grep的作用
  9. html页面怎么保存和读取cookie 推荐MDN封装的cookie方法
  10. 蓝桥杯单片机第11届国赛程序题参考答案