跳到主要內容

在運算式中傳播 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