Gå till huvudinnehåll

Hur NULL-värden slår igenom i uttryck

PÅ DEN HÄR SIDAN

Hur NULL-värden slår igenom i uttryck

NULL-värden slår igenom i uttryck enligt några logiska och ganska rimliga regler.

Funktioner

Som allmän regel gäller att funktioner returnerar NULL när parametrarna faller utanför den ram för vilken funktionen är definierad.

Example:  

  • asin(2) returnerar NULL
  • log(-5) returnerar NULL
  • round(A,0) returnerar NULL

Av ovanstående följer att funktioner vanligen returnerar NULL när någon av de parametrar som behövs för utvärderingen är NULL.

Example:  

  • sin(NULL) returnerar NULL
  • chr(NULL) returnerar NULL
  • if(NULL, A, B) returnerar B
  • if(True, NULL, A) returnerar NULL 
  • if(True, A, NULL) returnerar A 

Undantag till den andra regeln är logiska funktioner som testar typ.

Example:  

  • isnull(NULL) returnerar True (-1)
  • isnum(NULL) returnerar False (0)

Aritmetiska operatorer och strängoperatorer

Om NULL påträffas på någon sida om dessa operatorer returneras NULL.

Example:  

  • A + NULL returnerar NULL
  • A - NULL returnerar NULL
  • A / NULL returnerar NULL
  • A * NULL returnerar NULL 
  • NULL / A returnerar NULL 
  • 0 / NULL returnerar NULL 
  • 0 * NULL returnerar NULL 
  • A & NULL returnerar A 

Relationsoperatorer

Om NULL påträffas på någon sida om relationsoperatorer gäller särskilda regler.

Example:  

  • NULL rel.op NULL returnerar NULL
  • A <> NULL returnerar True (-1)
  • A < NULL returnerar False (0)
  • A <= NULL returnerar False (0
  • A = NULL returnerar False (0
  • A >= returnerar False (0
  • A > NULL returnerar False (0