NULL 值处理

简介: NULL 值处理

说明:


NULL是什么,查询条件某字段时某一行这个字段或其他行这个字段没有值 所以查询出来为 NULL 。


为了处理这种情况,MySQL提供了三大运算符如下:


IS NULL: 当列的值是 NULL,此运算符返回 true。

IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。

<=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。

关于 NULL 的条件比较运算是比较特殊的。不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。


NULL 值与任何其它值的比较(即使是 NULL)永远返回 NULL,即 NULL = NULL 返回 NULL 。


处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符。


1、建表

DROP TABLE IF EXISTS `text_null`;

CREATE TABLE `text_null` (

 `id` int(11) NOT NULL,

 `text_title` char(10) COMMENT '书名',

 `text_author`char(10) COMMENT '作者',

   `price`double COMMENT '价格',

 PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO text_null (id,text_title,text_author,price) values (1,'百科全书解决空值','火爆的后槽牙儿',6.66);

INSERT INTO text_null (id,text_title,text_author,price) values (2,'这是一本书','小王',NULL);

INSERT INTO text_null (id,text_title,text_author,price) values (3,'西游记','作者',NULL);


2、演示

2.1、查看新建的表数据

SELECT * from text_null;


2.2、演示 = 和 != 运算符

SELECT * from text_null  where price = null;

SELECT * from text_null where price != NULL;



可以看到 = 和 != 运算符是不起作用的


2.3、使用 IS NULL 和 IS NOT NULL

SELECT * from text_null where price IS NULL;

SELECT * from text_null where price IS NOT NULL;


相关文章
|
存储 程序员
【汇编】“转移”综述、操作符offset、jmp指令
【汇编】“转移”综述、操作符offset、jmp指令
886 1
|
分布式计算 Java Hadoop
Hadoop垃圾回收机制
Hadoop垃圾回收机制
|
8月前
|
存储 人工智能 云栖大会
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
|
8月前
|
JSON JavaScript Java
使用JSONObject.getString()时报错:Cannot resolve method ‘getString‘ in ‘JSONObject‘,详解JSONObject三种库的用法
通过以上对比可以发现,虽然这三种库都可以操作 JSON 数据,但它们的功能设计和使用场景各不相同: • org.json.JSONObject 适合基础场景,方法直观易懂。 • org.json.simple.JSONObject 功能最简单,需要更多手动操作。 • cn.hutool.json.JSONObject 适合复杂项目,提供了更强的扩展能力。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
SQL 关系型数据库 MySQL
MySQL Workbench的安装与配置
MySQL Workbench的安装与配置
|
机器学习/深度学习 Python
使用Python实现逻辑回归模型
使用Python实现逻辑回归模型
267 9
|
网络协议 安全 数据库
如何在阿里云国际上设置邮箱主机
如何在阿里云国际上设置邮箱主机
|
Web App开发 JavaScript Java
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
这篇文章是关于如何使用Spring Boot整合Elasticsearch,并通过REST客户端操作Elasticsearch,实现一个简单的搜索前后端,以及如何爬取京东数据到Elasticsearch的案例教程。
809 0
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
第三章:什么是 BACnet/IP 网络
BACnet/IP 网络是一个或多个 IP 子网(IP 域)的集合,这些子网分配有单个 BACnet 网络号。BACnet 互联网络由两个或多个 BACnet 网络组成。这些网络可能是 BACnet/IP 网络,也可能使用其他指定的技术。此标准还支持以类似于 IP 子网的方式包含 IP 多播组,如下文中所述。
748 0
第三章:什么是 BACnet/IP 网络
|
SQL 关系型数据库 MySQL
mysql 中 case when 的使用
mysql 中 case when 的使用