mysql - NULL 值不包含在查询结果中

标签 mysql sql

考虑下表:

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/

相关文章:

带有 Or 的 PHP mysql SELECT QUERY

Mysql以匹配 bool 模式选择下一个和上一个ID

mysql - 不能使用 MySQL UDF 函数

mysql - 有人可以给出简单的解释或连接示例吗?

mysql - 显示从属主机;有一个空的主机输出。如何获取从属主机?

php - MySQL查询: count by column where column > number

mysql - 即使在大表上有索引,查询也很慢

java - PHP MySQL 和 Android 连接

c# - 禁止 dapper.rainbow 在插入时使用 ID

sql - 一列上的多个索引