# 数式における 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 &lt;&gt; NULL は True (-1) を返します
* A &lt; NULL は False (0) を返します
* A &lt;= NULL は False (0) を返します
* A = NULL は False (0) を返します
* A &gt;= は False (0) を返します
* A &gt; NULL は False (0) を返します