SQL NULL 値


NULL 値は、欠落した未知のデータを表します。

デフォルトでは、テーブルの列には NULL 値を格納できます。

この章では、IS NULL 演算子と IS NOT NULL 演算子について説明します。


SQL NULL 値

テーブル内の列がオプションの場合、その列に値を追加せずに新しいレコードを挿入したり、既存のレコードを更新したりできます。つまり、そのフィールドは NULL 値で保存されます。

NULL 値の処理方法は他の値とは異なります。

NULL は、未知の値や適用できない値のプレースホルダーとして使用されます。

Note注: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 演算子を使用する必要があります:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

結果セットは次のとおりです:

LastName FirstName Address
Hansen Ola
Pettersen Kari

Noteヒント:NULL 値を見つけるには、常に IS NULL を使用してください。


SQL IS NOT NULL

"Address" 列に NULL 値が含まれていないレコードだけを選択するにはどうすればよいでしょうか?

IS NOT NULL 演算子を使用する必要があります:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL

結果セットは次のとおりです:

LastName FirstName Address
Svendson Tove Borgvn 23

次のセクションでは、ISNULL()、NVL()、IFNULL()、COALESCE() 関数について説明します。


その他の拡張