為什麼NULL 不等式是False
SQL 的三元邏輯的應用對於理解為什麼NULL 不等於NULL 起著至關重要的作用。在三元邏輯中,NULL代表未知值,而不是特定值。這個概念指導了相等和不等測試的評估。
評估相等時,兩個 NULL 值被認為既不相等也不不相等。這是因為未知的狀態無法與另一個未知的狀態進行明確的比較。因此,表達式 (NULL = NULL) 傳回 NULL,表示缺乏明確的答案。
在不等式測試的情況下,(NULL != NULL) 也會傳回 FALSE。這是因為三元邏輯規定一個未知值不能明確地宣告為不等於另一個未知值。因此,它們是否相等仍然未知。
不等式檢查的含義
上述討論闡明了表達式 (A != B) 足以滿足測試不等式,即使 A 或 B 為 NULL。這是因為三元邏輯規則規定任何涉及 NULL 值的操作都會保持未知。因此,如果 A 和 B 都為 NULL,則表達式 (A != B) 傳回 FALSE,表示缺乏明確的答案。
如果當A 和B 都為NULL 時明確要求結果為TRUE,則可以使用更詳細的表達式:
WHERE ((A != B) OR (A IS NOT NULL AND B IS NULL) OR (A IS NULL AND B IS NOT NULL))
但是,請務必注意,此條件滿足需要TRUE結果的特定用例空值。在大多數情況下,更簡單的表達式 (A != B) 就足夠了,因為它遵循三元邏輯原理。
以上是為什麼在 SQL 中 `NULL != NULL` 回傳 FALSE?的詳細內容。更多資訊請關注PHP中文網其他相關文章!