Mysql Oracle 对null 和 空值的处理

一、Mysql

1、新建一个测试表

CREATE TABLE TestNull(col VARCHAR(100));
//插入四条数据
INSERT INTO TestNull VALUES(NULL);
INSERT INTO TestNull VALUES('tom');
INSERT INTO TestNull VALUES('');
INSERT INTO TestNull VALUES(' ');

//查询结果
验证方式一、select * from testnull

 验证方式二、

select * from testnull where col is null

//插入数据成功

验证方式三:

将字段设置非空约束

INSERT INTO TestNull VALUES('');

 

 mysql  查询 对null 的处理

select ifnull(字段名,0) from 表名;

 

二、Oracle

1、新建一张测试表

CREATE TABLE TestNull(col varchar2(100));
//插入四条数据
INSERT INTO TestNull VALUES(NULL);
INSERT INTO TestNull VALUES('tom');
INSERT INTO TestNull VALUES('');
INSERT INTO TestNull VALUES(' ');

//查询结果

验证方式一、select * from Testnull where col is null

 

验证方式二、select nvl(col, 'emptyOrNull') from TestNull

验证方式三:

将字段设置非空约束,插入一条空数据

INSERT INTO TestNull VALUES('');

 由报错信息可知:不可插入数据

 Oracle 查询对 null 的处理

select nvl(字段名,0) from 表名;

由此可知:

 mysql  只有插入null 数据才是null

oracle  插入'',数据库会处理成null

 

posted @ 2021-08-03 15:22  唏嘘-  阅读(577)  评论(0编辑  收藏  举报