理解 Null 不等式
在 SQL 領域,NULL 值的相等性提出了獨特的挑戰。共識建議使用表達式「where ((A=B) OR (A IS NULL AND B IS NULL))」來測試可空列之間的相等性。然而,這種方法在測試不等式時提出了一個問題。
根據三元邏輯,將 NULL 視為未知值,不等式表達式「where (AB)」足以評估以下不等式可為空的列。此邏輯認為未知值的相等性是未知的,因此結果不為 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 (AB)」足以評估它們的不等式,因為 NULL 在三元邏輯中被視為未知值。
以上是如何有效測試 SQL 中可空列的不相等性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!