NULL
dans les expressions logiques
Nous avons déjà considéré que not (NULL)
résulte en NULL
. Pour les opérateurs AND
et OR
, l'interaction est un peu plus compliquée :
NULL or false ? NULL NULL or true ? true NULL or NULL ? NULL NULL and false ? false NULL and true ? NULL NULL and NULL ? NULL
Example 1.
NULL
? expressions logiques(1 = NULL) or (1 <> 1) -- returns NULL
(1 = NULL) or FALSE -- returns NULL
(1 = NULL) or (1 = 1) -- returns TRUE
(1 = NULL) or TRUE -- returns TRUE
(1 = NULL) or (1 = NULL) -- returns NULL
(1 = NULL) or UNKNOWN -- returns NULL
(1 = NULL) and (1 <> 1) -- returns FALSE
(1 = NULL) and FALSE -- returns FALSE
(1 = NULL) and (1 = 1) -- returns NULL
(1 = NULL) and TRUE -- returns NULL
(1 = NULL) and (1 = NULL) -- returns NULL
(1 = NULL) and UNKNOWN -- returns NULL