问题
使用 field <> 9 查询时,无法查询出 field 为 NULL 的记录。
原因
NULL 没有值,因此无法使用运算符进行比较。
换句话说,任何值都不能等于(或不等于)NULL,因为 NULL 没有值。
因此,SQL 有特殊的 IS NULL 和 IS NOT NULL 来处理 NULL。
解决方案
field is null or field <> 9
nvl(field, 0) <> 9
使用 field <> 9 查询时,无法查询出 field 为 NULL 的记录。
NULL 没有值,因此无法使用运算符进行比较。
换句话说,任何值都不能等于(或不等于)NULL,因为 NULL 没有值。
因此,SQL 有特殊的 IS NULL 和 IS NOT NULL 来处理 NULL。
field is null or field <> 9
nvl(field, 0) <> 9
评论区