SQLのNULL値 - IS NULLとIS NOT NULLは
NULL値が欠落している未知のデータを表します。
列のデフォルトは、テーブルにはNULL値を格納することができます。
この章では、IS NULLを説明し、NULL演算子ではありません。
SQLのNULL値
テーブルの列がオプションであるなら、私たちは、新しいレコードを挿入または列に値を追加することなく、既存のレコードを更新することができます。 これは、フィールドがNULL値が保存されていることを意味します。
NULL値やその他の値の扱いが異なります。
NULLは不明または適用できないプレースホルダの値として使用されています。
注:NULLと0を比較することはできません。彼らは等価ではないこと。
SQL処理のNULL値
以下の「人」の表を見てください:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Sandnes | |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Stavanger |
「アドレス」欄の「人」の表では、オプションである場合。 これは、列は「住所」でnoの値を持つレコードを挿入する場合は、「アドレス」欄にはNULL値と一緒に保存されることを意味します。
では、どのようにNULL値をテストできますか?
このような=のように、NULL値をテストする比較演算子を使用することができません、<、または<>。
私たちは、NULL ISとIS NOT NULL演算子IS使用する必要があります。
SQLはNULLです
どのように我々はそれに「アドレス」欄にNULL値を持つレコードだけを選択していますか?
私たちは、IS NULL演算子を使用する必要があります。
WHERE Address IS NULL
結果は次のように設定します。
LastName | FirstName | Address |
---|---|---|
Hansen | Ola | |
Pettersen | Kari |
ヒント:常にNULL値を探すためにIS NULLを使用します。
SQLはNULLではありません
どのように我々は唯一の選択「アドレス」欄には、それなしでNULL値を記録していますか?
私たちは、NULL演算子NOT IS使用する必要があります。
WHERE Address IS NOT NULL
結果は次のように設定します。
LastName | FirstName | Address |
---|---|---|
Svendson | Tove | Borgvn 23 |
次のセクションでは、ISNULL()、NVL()、IFNULL()およびCOALESCE()関数を理解しています。