当我使用!= NULL
或IS NOT NULL
/** No results returned.*/
SELECT *
FROM PORT_INFO
WHERE PORT_CODE != NULL;
/** Results are returned.*/
SELECT *
FROM PORT_INFO
WHERE PORT_CODE IS NOT NULL;
答案 0 :(得分:2)
因为与NULL进行任何算术比较的结果也是NULL,所以无法从这种比较中获得任何有意义的结果。
所以基本上IS NOT NULL
实际上会按照您的意图行事,而!=
将无效(因为它也只会返回NULL
)。
答案 1 :(得分:0)
在SQL中,没有值等于NULL,包括NULL本身。要获得您期望的结果,请使用IS NOT NULL。
答案 2 :(得分:0)
NULL
的任何比较或操作都会返回NULL
,但IS NULL
除外。
NULL
布尔值被认为是假的。
因此,<> NULL
,= NULL
等表达式始终为false。
这是ANSI标准行为。