考虑下表:
create table inttest (
someint INT(10) NULL DEFAULT NULL
);
当我插入一些随机值时
insert into inttest
(someint)
values
(1),(2),(3),(1),(2),(NULL);
并执行查询
select *
from inttest
where someint != 1;
MySQL 返回 2,3,2 但不返回 NULL 值。这个对吗?我应该用 OR someint IS NULL 扩展我的查询还是我的 MySQL 安装中的错误?
最佳答案
正确。没有什么等于 NULL
- 包括 NULL
。或者更正式地说,评估 NULL != 1
的结果是 UNKNOWN
- 并且 WHERE
子句谓词必须评估为 TRUE
.
关于mysql - NULL 值不包含在查询结果中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112297/