SQL NULL 值比較的悖論:區分 IS NULL 和 = NULL
在 SQL 領域,NULL 值的概念常常給開發者帶來挑戰。其中一個難題就是使用 IS NULL 和 = NULL 運算子比較 NULL 值時。儘管它們看起來很相似,但它們的結果卻大相徑庭,讓許多人感到困惑。
理解差異
何時使用每個運算符
鑑於它們不同的行為:
範例
考慮以下表格:
<code>| id | name | |---|---| | 1 | John | | 2 | NULL | | 3 | Mary |</code>
<code>SELECT * FROM table WHERE name = NULL;</code>
結果:不回傳任何行,因為 = NULL 將 NULL 視為 false。
<code>SELECT * FROM table WHERE name IS NULL;</code>
結果:傳回 id 為 2 的一行,正確辨識了 NULL 值。
以上是SQL NULL 相等:何時使用 IS NULL 與 = NULL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!