跳到主要内容

表达式中 NULL 值的传送

在该页面上

表达式中 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 >= 返回 False (0
  • A > NULL 返回 False (0