`type` tinyint(1) DEFAULT NULL
数据集
id名称类型
1 abc 1
2 bcd NULL
3 efg NULL
QUERY:
SELECT * FROM table WHERE type!=1;
查询返回0结果集
要求提出问题解释或解决方案 请不要替换。
答案 0 :(得分:4)
您需要为NULL
添加特殊情况:
SELECT * FROM table WHERE type IS NULL OR type !=1;
答案 1 :(得分:1)
您的查询应该是
SELECT * FROM table WHERE type IS NULL;
如果您要查找类型具有值" NULL"
的行阅读this,它说:
NULL值与其他值的处理方式不同 无法比较NULL和0;它们并不等同。
基本上,您应该使用 xxx IS NULL
或 xxx IS NOT NULL
。
答案 2 :(得分:1)
NULL!= 1返回null,不等于true。
尝试运行SELECT type , type != 1 as flag FROM table
你会得到0作为type
= 1的标志。而NULL为TYPE
= NULL的标志
您可以将查询更改为
select * from table where coalesce(type, 0) != 1