MySQL 中的不等於NULL 運算子:
使用SQL 查詢時,您可能會遇到 運算符,引發有關其意義和語法的問題。本指南將深入了解該運算符及其應用。
理解
運算子稱為 NULL 安全等於運算子。它類似於常規等於運算子 (=),但在處理 NULL 值時有一個關鍵差異。
常規等於運算子與NULL 安全等於運算子
如果運算元不相等,則常規等於運算子(=) 傳回0;如果運算元相等,則返回1。但是,它將 NULL 值視為特殊情況,在此類比較中產生 NULL 作為結果。
另一方面, 運算子以不同方式處理 NULL 值。如果運算元不相等,則傳回 0;如果相等,則傳回 1,無論其中一個或兩個運算元是否為 NULL。換句話說:
運算符的用處特別明顯在比較中的兩個操作數都可能包含NULL 值並且需要兩個操作數之間的比較結果一致的情況下很有用
該運算符的另一個實際應用是在準備好的語句中,其中佔位符可以無縫處理標量值和NULL 值,而無需修改查詢。
IS NULL:
運算子的特化。例如:
'a' IS NULL 相當於
'a' ; NULL'a' IS NOT NULL 相當於
NOT('a' NULL)支援與相容性 運算子是MySQL 特定的,其他資料庫不支援。 SQL:2003 標準引入了一個謂詞,IS [NOT] DISTINCT FROM,其行為與 MySQL 相同 運算子。此外,以下複雜但普遍支持的表達式也可以達到相同的結果:
CASE WHEN (a = b) or (a IS NULL AND b IS NULL) THEN 1 ELSE 0 END = 1
以上是MySQL 的 NULL 安全性等於運算子 () 如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!