在SQL中使用null值

时间:2015-06-28 20:49:34

标签: sql

我有一个数据库表:Employee包含字段idnamesexage

我运行以下查询,他们给出了不同的结果。那么它们之间的区别是什么?

SELECT name, sex
FROM Employee
WHERE age = null

SELECT name, sex
FROM Employee
WHERE age is null

1 个答案:

答案 0 :(得分:1)

在SQL中有三值逻辑,TRUE / FALSE / UNKNOWN。任何与NULL的比较都会导致UNKNOWN,无论age中是否有NULL,始终都会返回空结果集。

select name,sex
from employee 
where age=null;

select name,sex
from employee 
where age<>null;

要获得正确的结果,对于未知年龄的员工,您需要where age IS NULL;;对于已知年龄的所有员工,您需要where age IS NOT NULL;