SQL NULL 値
NULL 値は、欠落した未知のデータを表します。
デフォルトでは、テーブルの列には NULL 値を格納できます。
この章では、IS NULL 演算子と IS NOT NULL 演算子について説明します。
SQL NULL 値
テーブル内の列がオプションの場合、その列に値を追加せずに新しいレコードを挿入したり、既存のレコードを更新したりできます。つまり、そのフィールドは NULL 値で保存されます。
NULL 値の処理方法は他の値とは異なります。
NULL は、未知の値や適用できない値のプレースホルダーとして使用されます。
注:NULL と 0 は比較できません。これらは等価ではありません。
SQL の NULL 値の処理
次の "Persons" テーブルを見てください:
| P_Id | LastName | FirstName | Address | City |
|---|---|---|---|---|
| 1 | Hansen | Ola | Sandnes | |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Stavanger |
たとえば、"Persons" テーブルの "Address" 列がオプションだとします。つまり、"Address" 列に値のないレコードを挿入すると、"Address" 列は NULL 値で保存されます。
では、NULL 値をどのようにテストするのでしょうか?
=、<、<> などの比較演算子を使用して NULL 値をテストすることはできません。
IS NULL 演算子と IS NOT NULL 演算子を使用する必要があります。
SQL IS NULL
"Address" 列に NULL 値が含まれるレコードだけを選択するにはどうすればよいでしょうか?
IS NULL 演算子を使用する必要があります:
WHERE Address IS NULL
結果セットは次のとおりです:
| LastName | FirstName | Address |
|---|---|---|
| Hansen | Ola | |
| Pettersen | Kari |
ヒント:NULL 値を見つけるには、常に IS NULL を使用してください。
SQL IS NOT NULL
"Address" 列に NULL 値が含まれていないレコードだけを選択するにはどうすればよいでしょうか?
IS NOT NULL 演算子を使用する必要があります:
WHERE Address IS NOT NULL
結果セットは次のとおりです:
| LastName | FirstName | Address |
|---|---|---|
| Svendson | Tove | Borgvn 23 |
次のセクションでは、ISNULL()、NVL()、IFNULL()、COALESCE() 関数について説明します。
その他の拡張