Vai al contenuto principale

Propagazione dei valori NULL nelle espressioni

IN QUESTA PAGINA

Propagazione dei valori NULL nelle espressioni

I valori NULL si propagano attraverso un'espressione, in base a poche regole logiche e completamente comprensibili.

Funzioni

La regola generale è che tale funzione restituisce un valore NULL quando i parametri non rientrano nella scala per cui è definita la funzione.

Example:  

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

Come risultato dell'esempio precedente, in genere questo tipo di funzioni restituisce un valore NULL quando il valore di uno dei parametri necessari per la valutazione è NULL.

Example:  

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

L'eccezione relativa alla seconda regola concerne funzioni logiche di verifica del tipo.

Example:  

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

Operatori aritmetici e su stringa

Se NULL è presente in uno di questi operatori, viene restituito NULL.

Example:  

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

Operatori relazionali

Se è presente un valore NULL in una qualsiasi parte degli operatori relazionali, si applicano delle regole speciali.

Example:  

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