在SQL中逻辑表达式的可能值包括TRUE、FALSE和UNKNOWN,它们被称之为三值逻辑。
再我们将任何值(包括NULL本身)与NULL做比较的时候,都会返回UnKnown。而在查询表达式中(比如where与having中),UnKnown会视为false。
这就是select * from 表名 where 字段=null 查不到正确的结果的原因了。
在SQL中逻辑表达式的可能值包括TRUE、FALSE和UNKNOWN,它们被称之为三值逻辑。
再我们将任何值(包括NULL本身)与NULL做比较的时候,都会返回UnKnown。而在查询表达式中(比如where与having中),UnKnown会视为false。
这就是select * from 表名 where 字段=null 查不到正确的结果的原因了。

被折叠的 条评论
为什么被折叠?