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