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;

    原文作者:必虎
    原文地址: https://www.jianshu.com/p/6cc02ea59efa
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞