我们已经看到SQL SELECT命令和WHERE子句一起使用,来从MySQL表中提取数据, 但是,当我们试图给出一个条件,比较字段或列值设置为NULL,它确不能正常工作。 为了处理这种情况,MySQL提供了三大运算符 IS NULL: 如果列的值为NULL,运算结果返回 true IS NOT NULL: 如果列的值不为NULL,运算结果返回 true <=>: 运算符比较值,(不同于=运算符)即使两个空值它返回 true 涉及NULL的条件是特殊的。不能使用= NULL或!= NULL来匹配查找列的NULL值。 这样的比较总是失败,因为它是不可能告诉它们是否是true。 甚至 NULL = NULL 也是失败的。 要查找列的值是或不是NULL,使用IS NULL或IS NOT NULL。 要查找记录中,其中 tutorial_count 列的值是或不是NULL,查询应该这样写: mysql> SELECT * FROM tcount_tbl -> WHERE tutorial_count IS NULL; +-----------------+----------------+ | tutorial_author | tutorial_count | +-----------------+----------------+ | mahnaz | NULL | | Jen | NULL | +-----------------+----------------+ rows in set (0.00 sec) mysql> SELECT * from tcount_tbl -> WHERE tutorial_count IS NOT NULL; +-----------------+----------------+ | tutorial_author | tutorial_count | +-----------------+----------------+ | | +-----------------+----------------+ rows in set (0.00 sec)