NULL値とは、データベーステーブル内の無効で、指定されていない、未知の、または予測不可能な値を指します。NULL値は、NOT NULLやPRIMARY KEYの完全性制約を受けないデータ型の列に存在することができます。NULLを含む算術式の結果は常にNULLとなります。
OceanBaseデータベースは、SQL関数内のNULL値、比較条件内のNULL値、条件判断式内のNULL値の3種類のNULL値タイプをサポートしています。
SQL関数内のNULL値
SQL関数内のNULL値とは、SQL関数のパラメータがNULL値であることを指します。SQL関数のパラメータがNULL値の場合、ほとんどのスカラー関数はNULLを返し、集約関数(COUNT()およびGROUPING()を除く)はNULL値を無視します。
ORDER BYを使用してソートする場合、昇順ソートではNULL値は他の値の後に配置され、降順ソートではNULL値は他の値の前に配置されます。
NULL値 |
説明 |
|---|---|
| スカラー関数内のNULL値 | NULL値が発生した場合、NVL() 関数を使用してNULL値を特定の値に置き換えることができます。 |
| 集約関数内のNULL値 | AVG、MAX、SUM などの集約関数を使用する場合、NULL のレコードは無視されます。 |
比較条件内のNULL値
比較条件内のNULL値とは、他の任意の条件と比較されるNULLを指します。NULL値の検証には、比較演算子IS NULLとIS NOT NULLのみを使用できます。NULLはデータ欠落を表すため、NULLと他の値との間には比較可能性がなく、等しい、不等しい、大なり小なりといった他の数値的な比較はできません。もちろん、NULL値自体との比較も同様です。
条件判断式内のNULL値
条件判断式内のNULL値とは、条件= NULL、!= NULL、NULL =、NULL !=におけるNULLを指します。論理判断に使用され、判断結果はいずれの行も返さず、UNKNOWNとなります。