数式における NULL 値の伝達
NULL 値は、いくつかの論理的および妥当な規則に基づいて、数式を介して伝達されます。
関数
一般的な規則としては、関数が定義されている範囲からパラメータが外れると、関数は NULL を返します。
- asin(2) の戻り値: NULL
- log(-5) の戻り値: NULL
- round(A,0) の戻り値: NULL
上記の結果として、評価で必要なパラメータのいずれかが NULL の場合、関数は原則として NULL を返します。
- sin(NULL) の戻り値: NULL
- chr(NULL) の戻り値: NULL
- if(NULL, A, B) の戻り値: B
- if(True, NULL, A) は、NULL を返します
- if(True, A, NULL) は、A を返します
2 番目の規則の例外として、型をテストするための論理関数があります。
- isnull(NULL) は True (-1) を返します
- isnum(NULL) は False (0) を返します
算術および文字列演算子
これらの演算子のいずれかの側に NULL が発生した場合は、NULL が返されます。
- A + NULL の戻り値: NULL
- A - NULL の戻り値: NULL
- A / NULL の戻り値: NULL
- A * NULL は、NULL を返します
- NULL / A は、NULL を返します
- 0 / NULL は、NULL を返します
- 0 * NULL は、NULL を返します
- A & NULL は、A を返します
関係演算子
関係演算子のいずれかの側に NULL が発生した場合は、特別な規則が適用されます。
- NULL rel.op NULL の戻り値: NULL
- A <> NULL は True (-1) を返します
- A < NULL は False (0) を返します
- A <= NULL は False (0) を返します
- A = NULL は False (0) を返します
- A >= は False (0) を返します
- A > NULL は False (0) を返します