NULL
に対する比較演算子があるため SQLフィルターに表示されると、行が選択されなくなります(実際に表示されます)。
null安全演算子<=>
を使用する必要があります NULL
を含む列と比較します 値およびその他のNOT NULL
値ですが<=>
1
を返します 両方のオペランドがNULL
の場合 NULL
NULL
と等しいとは見なされません 。
これは、nullセーフ演算子が役立つ状況の例です:
テーブルがあります:
Phones
----
Number
CountryCode (can be NULL)
また、スペイン以外のすべての電話番号(国番号34)を選択する必要があります。通常、最初の試行は次のとおりです。
SELECT Number FROM Phones WHERE CountryCode <> 34;
ただし、国コード(NULL値)がリストされていない電話があり、スペイン製でもないため、結果に含める必要があることに気付きました。
SELECT Number FROM Phones WHERE CountryCode <=> 34;