NULL指的是空值,或者非法值。

NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致

NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型

NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1

详细的::

oracle的nvl函数的用法

通过查询获得某个字段的合计值,如果这个值位null将给出一个预设的默认值

select nvl(sum(t.dwxhl),1) from tb_jhde t where

zydm=-1这里关心的nvl的用法,nvl(arg,value)代表如果前面的arg的值为null那么返回的值为后面的value

如: NVL(a,b)就是判断a是否是NULL,如果不是返回a的值,如果是返回b的值

通过查询获得某个字段的合计值,如果这个值位null将给出一个预设的默认值

select nvl(sum(t.dwxhl),1) from tb_jhde t where

zydm=-1这里关心的nvl的用法,nvl(arg,value)代表如果前面的arg的值为null那么返回的值为后面的value

中国网管联盟

另一个有关的有用方法

declare

i integer

select nvl(sum(t.dwxhl),1) into i from tb_jhde t where

zydm=-1这样就可以把获得的合计值存储到变量i中,如果查询的值为null就把它的值设置为默认的1

Oracle得Nvl函数

nvl( ) 函数

从两个表达式返回一个非 null 值。

语法

NVL(eExpression1, eExpression2)

参数

eExpression1, eExpression2

如 果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果

eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和

eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null

值,则 NVL( ) 返回 .NULL.。

返回值类型

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

说明

在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。

select nvl(a.name,'空得') as name

from student a join school b on a.ID=b.ID

注意:两个参数得类型要匹配

问:什么是NULL?

答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,

我们称它为空,ORACLE中,含有空值的表列长度为零。

ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:

1、主键字段(primary key),

2、定义时已经加了NOT NULL限制条件的字段

oracle if后面为null,Oracle中NVL2 和NULLIF的用法相关推荐

  1. Oracle中NVL2 和NULLIF的用法

    NULL指的是空值,或者非法值. NVL (expr1, expr2)->expr1为NULL,返回expr2:不为NULL,返回expr1.注意两者的类型要一致 NVL2 (expr1, ex ...

  2. oracle判断不是null,oracle中判断不为null

    Null 也不等 于 Null(近似理解: 未知的值不能等于未知的值,两者间的关系也是未知,否则数学和逻辑 上就乱套了).– 注意: 下面的 SQL 适合于 MySQL,如果是 Oracle,你需要加 ...

  3. oracle怎么写三元表达式,Talend中变量载入(tContextLoad)的用法,及其他注意事项

    此文为本人私下参考用,不拘泥于表达 一.要用tContextLoad,就要: 举一个例子: 添加组件1.tFileInputDelimited.这个组件可以提取一个txt文件,行之间默认回车,您可以建 ...

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

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

  5. mysql中if在oracle怎么用_MySql和Oracle的使用

    本文档是一个记录文档,会不定时更新使用过程中遇到的差异问题 本文档记录MySql和Oracle在使用中要注意的问题,也包括两者使用上的差异问题 字符串拼接函数 CONCAT MySql MySql的 ...

  6. Oracle中INSTR和SUBSTR的用法

    2019独角兽企业重金招聘Python工程师标准>>> Oracle中INSTR和SUBSTR的用法 Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, ...

  7. oracle 12c pl/sql语言,ORACLE 12C SQL语句中通过with 定义PL/SQL 函数

    在ORACLE 12C支持在sql语句中编写函数,用来实现sql语句操作需要使用函数的部分功能,该功能对于你不想在数据库中新建函数 or 你的库是read only模式下要使用新函数实现某种功能,可以 ...

  8. oracle执行计划time单位,Oracle中查看执行计划

    方法一.通过使用工具PLSQL Developer中的Explain Plan Window窗口查看SQL执行计划.具体参考 方法二.通过SQL*PLUS中的autotrace命令查看 1.登录拥有d ...

  9. mybatis入门学习(九) -DB环境切换、使用注解、事务提交、获取自增ID、多参数传参、鉴别器、内置参数、批量写入、Oracle字段无法插入 null 值

    一.多数据库环境切换 1.config配置: <!-- default="mydemo" 指定连接的数据库 --><environments default=&q ...

最新文章

  1. 【MATLAB】符号数学计算(一):符号对象的创建
  2. java5引入包装类型的意义_Java中的基本类型和包装类
  3. dva 中使用绝对路径/别名的方法
  4. java编程有一筐鸡蛋_一筐鸡蛋数学题标准答案公式-一筐鸡蛋标准答案图片详细解答版下载_东坡手机下载...
  5. 【笔记】 感受野与权值共享 摄像头标定 相机坐标与世界坐标
  6. 2.3 KNN-采用机器学习库来预测鸢尾花的分类
  7. xfce4自己使用的主题设置备份以及xfce4默认的壁纸路径
  8. Linux 命令之 iwconfig 命令-配置无线网络接口
  9. STL之string类型
  10. sql android客户端,XSGManage: 学生成绩管理系统---客户端,基于Android+Django+sqlit3开发...
  11. 自适应数字墙星系网站404页面源码
  12. matlab图像的主视图,求助大佬【如用MATLAB实现满足投影关系的三视图】
  13. 2006-8-11 11:29:00 搜索算法及其在ACM竞赛中的应用(作者/刘力科 计算机系01级4班)...
  14. php编译gd支持gif,我可以使用php和gd检测GIF动画吗?
  15. 贾扬清谈云原生 - 让数据湖加速迈入3.0时代
  16. IDEA 中 Maven运行tomacat7出现A child container failed during start错误
  17. Hibernate Criteria对象详解(条件查询)
  18. element-UI 弹出外部组件
  19. python自动测试ping IP
  20. Matlab查看tdms文件

热门文章

  1. PL/SQL Developer中,存储过程无法调试的问题解决办法
  2. 下一代 Debian - \'Lenny\' 代码冻结
  3. 这是一个神奇的文字转语音软件
  4. [codeVS1204] 单词背诵
  5. Hbase 学习(三)Coprocessors
  6. DevExpress.XtraGrid
  7. UML建模之时序图(Sequence Diagram)教程
  8. 2010后的经济增长点再研究
  9. 如何在10亿数中找出前1000大的数
  10. python os模块的学习