理解 Null 不等式
在 SQL 领域,NULL 值的相等性提出了独特的挑战。共识建议使用表达式“where ((A=B) OR (A IS NULL AND B IS NULL))”来测试可空列之间的相等性。然而,这种方法在测试不等式时提出了一个问题。
根据三元逻辑,将 NULL 视为未知值,不等式表达式“where (A<>B)”足以评估以下不等式可为空的列。该逻辑认为未知值的相等性是未知的,因此结果不为 TRUE。
例如,考虑以下场景:
附加条件
表达式 "WHERE ((A < ;> B) OR (A IS NOT NULL AND B IS NULL) OR (A IS NULL AND B IS NOT NULL))" 是另一种方法显式检查 NULL 和非 NULL 值的所有可能组合。然而,在目标是评估可空列的不等式的情况下,这是不必要的。
总之,对于可空列,表达式“where (A<>B)”足以评估它们的不等式,因为 NULL 在三元逻辑中被视为未知值。
以上是如何有效测试 SQL 中可空列的不相等性?的详细内容。更多信息请关注PHP中文网其他相关文章!