表达式中 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

第二条规则的例外情况是逻辑函数类型测试。

示例:  

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

>=

NULL

返回

False (0)

A

>

NULL

返回

False (0)