Propagazione dei valori NULL nelle espressioni

NULL I valori 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

>=

NULL

restituisce

False (0)

A

>

NULL

restituisce

False (0)