當處理可能包含NULL值的表列時,了解MySQL如何處理涉及NULL的比較非常重要。
問題出現在使用不等式比較(CODE!='C')時,卻沒有考慮NULL值。在這種情況下,MySQL會默默地將包含NULL值的記錄從結果集中排除,讓人感覺這些記錄不存在。
為了將包含NULL值的記錄包含在結果集中,必須明確地擴展比較以考慮NULL。正確的方法是使用以下語法:
<code class="language-sql">SELECT * FROM TABLE WHERE CODE IS NULL OR CODE!='C'</code>
透過使用IS NULL運算符,MySQL明確地檢查CODE列為NULL的記錄,確保它們與CODE不等於'C'的記錄一起包含在結果集中。
MySQL在此情況下的行為可以歸因於其將NULL視為未知或未定義值的處理方式。不等式比較,例如!=,只有當運算元之間有明確差異時才傳回true。由於NULL是未知值,它不被認為與任何其他值(包括'C')不同。
因此,在使用不等式比較時,務必明確地考慮NULL值以確保結果準確。 IS NULL運算子提供了一種可靠的方法來處理這種情況,並確保傳回所有相關資料。
以上是MySQL 如何處理與 NULL 值的不相等比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!