Catégories :

Fonctions d’expressions conditionnelles

IS [ NOT ] NULL

Détermine si une expression est NULL ou n’est pas NULL.

Syntaxe

<expr> IS [ NOT ] NULL 
Copy

Renvoie

Renvoie une valeur BOOLEAN.

  • Lorsque IS NULL est spécifié, la valeur est TRUE si l’expression est NULL. Sinon, renvoie FALSE.

  • Lorsque IS NOT NULL est spécifié, la valeur est TRUE si l’expression n’est pas NULL. Sinon, renvoie FALSE.

Exemples

Créez la table test_is_not_null et chargez les données :

CREATE OR REPLACE TABLE test_is_not_null (id NUMBER, col1 NUMBER, col2 NUMBER); INSERT INTO test_is_not_null (id, col1, col2) VALUES (1, 0, 5), (2, 0, NULL), (3, NULL, 5), (4, NULL, NULL); 
Copy

Affichez les données dans la table test_is_not_null :

SELECT * FROM test_is_not_null ORDER BY id; 
Copy
+----+------+------+ | ID | COL1 | COL2 | |----+------+------| | 1 | 0 | 5 | | 2 | 0 | NULL | | 3 | NULL | 5 | | 4 | NULL | NULL | +----+------+------+ 

Utilisez IS NOT NULL pour renvoyer les lignes pour lesquelles les valeurs de col1 ne sont pas NULL :

SELECT * FROM test_is_not_null WHERE col1 IS NOT NULL ORDER BY id; 
Copy
+----+------+------+ | ID | COL1 | COL2 | |----+------+------| | 1 | 0 | 5 | | 2 | 0 | NULL | +----+------+------+ 

Utilisez IS NULL pour renvoyer les lignes pour lesquelles les valeurs de col2 sont NULL :

SELECT * FROM test_is_not_null WHERE col2 IS NULL ORDER BY id; 
Copy
+----+------+------+ | ID | COL1 | COL2 | |----+------+------| | 2 | 0 | NULL | | 4 | NULL | NULL | +----+------+------+ 

Utilisez une combinaison de IS NOT NULL et de IS NULL pour renvoyer les lignes pour lesquelles l’une ou l’autre des conditions suivantes est remplie :

  • Les valeurs de col1 ne sont pas NULL.

  • Les valeurs de col2 sont NULL.

SELECT * FROM test_is_not_null WHERE col1 IS NOT NULL OR col2 IS NULL ORDER BY id; 
Copy
+----+------+------+ | ID | COL1 | COL2 | |----+------+------| | 1 | 0 | 5 | | 2 | 0 | NULL | | 4 | NULL | NULL | +----+------+------+ 

Utilisez une combinaison de IS NOT NULL et de IS NULL pour renvoyer les lignes pour lesquelles les deux conditions suivantes sont remplies :

  • Les valeurs de col1 ne sont pas NULL.

  • Les valeurs de col2 sont NULL.

SELECT * FROM test_is_not_null WHERE col1 IS NOT NULL AND col2 IS NULL ORDER BY id; 
Copy
+----+------+------+ | ID | COL1 | COL2 | |----+------+------| | 2 | 0 | NULL | +----+------+------+