【PLSQL】NULL值的处理

下面是NULL的几个注意点:

1.NULL值既不是空格也不是0。

2.给表插入值的时候,如果没有给列指定列值,则默认为NULL。

3.当算术表达式里包含NULL值时,其计算结果也是NULL值。

这时候如果我们需要得到确定的结果值,我们就该对NULL值进行处理了,这里有两种函数可以用来处理NULL值,NVL函数和NVL2函数,用法如下:

sal+NVL(comm,0)   --sal是工资列,comm是奖金列,当comm列为NULL值时就用0来替换NULL值进行算术运算

NVL2(comm,sal+comm,sal)  --NVL2有3个参数,当comm不空时返回sal+comm的值,否则返回sal的值

4.当与NULL值进行比较或逻辑运算的时候千万不要使用“=”,“<>”操作符,因为使用它们代码不会任何错误,但条件字句返回的总是false,从而使代码运行得到不符合预想和逻辑的错误,应该是用IS NULL操作符进行比较和判断,以避免上述情况。在进行自连接或是外连接查询的时候,就经常会出现这种问题,比如Oracle的外连接

原文连接:PLSQL NULl值的处理

时间: 2024-10-20 00:11:47

【PLSQL】NULL值的处理的相关文章

网页页面NULL值对浏览器兼容性的影响

网页页面NULL值对浏览器兼容性的影响       近期做项目中一个页面中的input radio出现浏览器兼容性问题. 主要问题: 在谷歌浏览器,360急速模式和搜狗急速模式中给radio初始动态赋值时.checked属性失效,无法选中.注:360急速模式和搜狗急速模式使用了谷歌chorme的内核(又称webkit内核). 在火狐浏览器中给radio初始动态赋值时,checked属性正常选中. 本来同事以为是浏览器兼容问题,始终未能解决这个问题.后来这个Bug交由我来改动. 初始接到任务时,也

fastjson null 值处理

偶然用到fastjson转换json 在前台用js解析竟然某些字段没有,曾经用过gson.联想到是不是相似gson默认将null值不显示了,找了下资料果真如此 直接上代码吧 import java.util.HashMap; import java.util.Map; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; public class Test

【温故而知新-Javascript】比较 undefined 和 null 值

JavaScript 中有两个特数值: undefined和null,在比较它们的时候需要留心.在读取未赋值的变量或试图读取对象没有的属性时得到的就是 undefined 值. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Learn4UndefinedAndNull</title> </head

Oracle SQL篇(一)null值之初体验

    从我第一次正式的写sql语句到现在,已经超过10年的时间了.我写报表,做统计分析和财务对账,我一点点的接触oracle数据库,并尝试深入了解.这条路,一走就是10年,从充满热情,到开始厌倦,我不知道我还能坚持多久,未来的路,谁知道呢? 也许是该抓紧时间,做一点什么了,我不知道该开始写些什么,我从来没有在网上写东西的习惯.     先从简单的开始吧,那当然就是SQL,这是我SQL系列的第一篇,希望我能够坚持. 在Oracle数据库中,如果一个表中的列没有值的话,我们可以说是空值,比如IT员

oracle 让人抓狂的错误之 null值 与 无值(无结果)-开发系列(一)

近期.在做开发.写存过的时候碰到一些问题,找了好长时间才发现原因.并且是曾经不知道的. 所以在这给记下来 给自己备忘和大家參考. 一 .null值 以下举个最简单的样例.寻常工作其中肯定比这个sql复杂的多,在这仅仅是把这个易错点呈现出来,他可能是一个复杂sql出错的小的 不easy被发现的一个问题. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2hhaTc5OA==/font/5a6L5L2T/fontsize/400/fill/I0JB

hive 配置文件以及join中null值的处理

一.Hive的参数设置 1.  三种设定方式:配置文件 ·   用户自定义配置文件:$HIVE_CONF_DIR/hive-site.xml ·   默认配置文件:$HIVE_CONF_DIR/hive-default.xml 用户自定义配置会覆盖默认配置.另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hadoop的配置文件包括 ·   $HADOOP_CONF_DIR/hive-site.xml ·   $HADOOP_CONF_DIR/hive-de

mysql null值处理详细说明

在讲null之前,我们先看一个例子 表数据如下: 3306>select * from t1; +------+-------+ | id | name | +------+-------+ | 1 | chen | | 2 | zhang | | 3 | NULL | +------+-------+ 3 rows in set (0.00 sec) 然后我们想查出所有名字不为'chen'的其它行记录,我们有可能这样写: 3306>select * from t1 where name!='

MySQL中order by中关于NULL值的排序问题

MySQL中order by 排序遇到NULL值的问题 MySQL数据库,在order by排序的时候,如果存在NULL值,那么NULL是最小的,ASC正序排序的话,NULL值是在最前面的. 如果我们想让NULL排在后面,让非NULL的行排在前面该怎么做呢? MySQL数据库在设计的时候,如果字段允许NULL值,那么对该字段进行排序的时候需要注意那些值为NULL的行. 我们知道NULL的意思表示什么都不是,或者理解成"未知"也可以,它与任何值比较的结果都是false, 默认情况下,My

Mysql Not in有null值查询的问题

今天发现Mysql的not in使用的一个问题,大致是: select * from A where id not in (select fid from B). 发现查询结果无论如何都是0条记录.后来发现B里面返回的查询结果集有一条NULL值,查了资料才知道mysql 的not in里面如果有一个NULL值,将返回0条记录. 要解决这个问题需要把 select fid from B 变成 select fid from B where B.fid is not null 这个问题在其他的数据库