MySQL NULL 值处理

MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。

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

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

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

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

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

SELECT * FROM ta_tbl WHERE a_count = NULL;

SELECT * FROM ta_tbl WHERE a_count != NULL;

上述两条语句的中= 和 != 运算符是不起作用的。

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

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

正确的比较a_count是不是NULL值的方法为:

SELECT * FROM ta_tbl WHERE a_count IS NULL;

SELECT * FROMta_tbl WHEREa_count IS NOT NULL;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,065评论 0 19
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • 在讲null之前,我们先看一个例子表数据如下: 然后我们想查出所有名字不为'chen'的其它行记录,我们有可能这样...
    zejin阅读 1,756评论 1 2
  • 一. Java基础部分.................................................
    wy_sure阅读 3,846评论 0 11
  • 文月,生于80年代。 那一年冬天,寒风瑟瑟,一个小山村,一间不足10平米的小屋里传来孩子啼哭的声音,一个生命从此诞...
    我的安哥拉童话阅读 218评论 0 4