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となります。