在運算式中傳播 NULL

NULL 值會根據幾個邏輯與相當合理的規則透過運算式來傳播。

函數

一般的規則是當參數落在函數所定義的範圍之外時,函數會傳回 NULL

Example:  

asin(2)

傳回

NULL

log(-5)

傳回

NULL

round(A,0)

傳回

NULL

從以上結果可推知,當評估所需的任何參數為 NULL 時,函數通常會傳回 NULL

Example:  

sin(NULL)

傳回

NULL

chr(NULL)

傳回

NULL

if(NULL, A, B)

傳回

B

if(True, NULL, A)

傳回

NULL

if(True, A, NULL)

傳回

A

第二個規則的例外情況是測試類型的邏輯函數。

Example:  

isnull(NULL)

傳回

True (-1)

isnum(NULL)

傳回

False (0)

算術與字串運算子

如果在這些運算子的任一端出現 NULL,則會傳回 NULL

Example:  

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,則適用特殊規則。

Example:  

NULL

rel.op

NULL

傳回

NULL

A

<>

NULL

傳回

True (-1)

A

<

NULL

傳回

False (0)

A

<=

NULL

傳回

False (0)

A

=

NULL

傳回

False (0)

A

>=

NULL

傳回

False (0)

A

>

NULL

傳回

False (0)