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指令
972 1
|
1月前
|
运维 自然语言处理 监控
AIOps 实战:我用 LLM 辅助分析线上告警
本文分享AIOps实战中利用大型语言模型(LLM)智能分析线上告警的实践经验,解决告警洪流、关联性分析难等问题。通过语义理解与上下文感知,LLM实现告警分类、优先级排序与根因定位,显著提升运维效率与准确率,助力系统稳定运行。
154 5
|
分布式计算 Java Hadoop
Hadoop垃圾回收机制
Hadoop垃圾回收机制
|
SQL HIVE
Hive 行列转换
使用`lateral view + explode`或`inline`可将列转换为行,实现数据降维。例如,`explode(array|map)`用于单列转多行,`inline(array_struct)`将结构体数组拆分成多行。同样,通过条件聚合可实现行转列,常用于多行数据聚合到单行中,如示例所示的按月统计订单金额。
630 1
Hive 行列转换
|
SQL 关系型数据库 MySQL
MySQL Workbench的安装与配置
MySQL Workbench的安装与配置
|
网络协议 安全 数据库
如何在阿里云国际上设置邮箱主机
如何在阿里云国际上设置邮箱主机
|
机器学习/深度学习 Python
使用Python实现逻辑回归模型
使用Python实现逻辑回归模型
300 9
|
SQL 关系型数据库 MySQL
mysql 中 case when 的使用
mysql 中 case when 的使用
第三章:什么是 BACnet/IP 网络
BACnet/IP 网络是一个或多个 IP 子网(IP 域)的集合,这些子网分配有单个 BACnet 网络号。BACnet 互联网络由两个或多个 BACnet 网络组成。这些网络可能是 BACnet/IP 网络,也可能使用其他指定的技术。此标准还支持以类似于 IP 子网的方式包含 IP 多播组,如下文中所述。
800 0
第三章:什么是 BACnet/IP 网络
|
Web App开发 JavaScript Java
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
这篇文章是关于如何使用Spring Boot整合Elasticsearch,并通过REST客户端操作Elasticsearch,实现一个简单的搜索前后端,以及如何爬取京东数据到Elasticsearch的案例教程。
873 0
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。