Propagation de valeurs NULL dans les expressions

Les valeurs NULL se propagent dans une expression selon certaines règles logiques et de bon sens.

Fonctions

D'après la règle générale, une fonction renvoie la valeur NULL lorsque les paramètres se trouvent en dehors de la plage pour laquelle la fonction est définie.

Exemple :  

asin(2)

renvoie

NULL

log(-5)

renvoie

NULL

round(A,0)

renvoie

NULL

Il s'ensuit que les fonctions renvoient généralement la valeur NULL lorsque l'un des paramètres nécessaires à l'évaluation est NULL.

Exemple :  

sin(NULL)

renvoie

NULL

chr(NULL)

renvoie

NULL

if(NULL, A, B)

renvoie

B

if(True, NULL, A)

renvoie

NULL

if(True, A, NULL)

renvoie

A

Les fonctions logiques qui testent le type de données font exception à la deuxième règle.

Exemple :  

isnull(NULL)

renvoie

True (-1)

isnum(NULL)

renvoie

False (0)

Opérateurs arithmétiques et opérateurs de chaîne

Si NULL se trouve d'un côté ou de l'autre de ces opérateurs, la fonction renvoie la valeur NULL.

Exemple :  

A

+

NULL

renvoie

NULL

A

-

NULL

renvoie

NULL

A

/

NULL

renvoie

NULL

A

*

NULL

renvoie

NULL

NULL

/

A

renvoie

NULL

0

/

NULL

renvoie

NULL

0

*

NULL

renvoie

NULL

A

&

NULL

renvoie

A

Opérateurs relationnels

Si NULL se trouve d'un côté ou de l'autre des opérateurs relationnels, des règles spécifiques s'appliquent.

Exemple :  

NULL

rel.op

NULL

renvoie

NULL

A

<>

NULL

renvoie

True (-1)

A

<

NULL

renvoie

False (0)

A

<=

NULL

renvoie

False (0)

A

=

NULL

renvoie

False (0)

A

>=

NULL

renvoie

False (0)

A

>

NULL

renvoie

False (0)