NULL 値には不明なデータがありません。
デフォルトでは、テーブル列は NULL 値を保持できます。
この章では、IS NULL 演算子と IS NOT NULL 演算子について説明します。
テーブル内の列がオプションの場合、列に値を追加せずに、新しいレコードを挿入したり、既存のレコードを更新したりできます。 これは、フィールドが NULL 値で保存されることを意味します。
NULL 値は他の値とは異なる方法で扱われます。
NULL は、不明な値または適用できない値のプレースホルダーとして使用されます。
注: NULL と 0 は同等ではないため、比較できません。
以下の「Persons」の表を参照してください:
| Id | LastName | FirstName | Address | City |
|---|---|---|---|---|
| 1 | Adams | John | London | |
| 2 | Bush | George | Fifth Avenue | New York |
| 3 | Carter | Thomas | Beijing |
「Persons」テーブルの「Address」列がオプションの場合。 これは、「Address」列に値を指定せずにレコードが挿入された場合、「Address」列は NULL 値で保存されることを意味します。
では、NULL 値をテストするにはどうすればよいでしょうか?
=、<、<> などの比較演算子を使用して NULL 値をテストすることはできません。
IS NULL 演算子と IS NOT NULL 演算子を使用する必要があります。
「Address」列に NULL 値を持つレコードのみを選択するにはどうすればよいですか?
IS NULL 演算子を使用する必要があります。
SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NULL
結果セット:
| LastName | FirstName | Address |
|---|---|---|
| Adams | John | |
| Carter | Thomas |
ヒント: NULL 値を検索するには、常に IS NULL を使用してください。
「Address」列に NULL 値がないレコードを選択するにはどうすればよいですか?
IS NOT NULL 演算子を使用する必要があります。
SELECT LastName,FirstName,Address FROM Persons WHERE Address IS NOT NULL
結果セット:
| LastName | FirstName | Address |
|---|---|---|
| Bush | George | Fifth Avenue |
次のセクションでは、ISNULL()、NVL()、IFNULL()、および COALESCE() 関数について学習します。