MYSQL:使用NULL值进行枚举字段搜索

时间:2012-11-15 18:13:07

标签: mysql

表人:

name
type enum('admin','user','random') NULL DEFAULT NULL

执行此查询时,它不会返回类型为NULL

的记录
select * from person where type != 'admin';

2 个答案:

答案 0 :(得分:1)

无法使用(in)等式语句测试

null。你需要使用IS NULL。 e.g。

select *
from person
where (type != 'admin') or (type IS NULL)

e.g。 null是“传染性的”

null > x    -> null
null = x    -> null
null = null -> null
null + 1    -> null
null * 1    -> null
等等......它基本上是“未知的”。在SQL中混合已知和未知使得结果始终未知。因此特殊的ifnull(),coalesce()和“if null”测试/函数。

答案 1 :(得分:0)

您可以使用MySQL中的NULL safe equality operator

select *
from person
where not type <=> 'admin'