- Catégories :
IS [ NOT ] NULL¶
Détermine si une expression est NULL ou n’est pas NULL.
Syntaxe¶
<expr> IS [ NOT ] NULL
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);
Affichez les données dans la table test_is_not_null
:
SELECT *
FROM test_is_not_null
ORDER BY id;
+----+------+------+
| 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;
+----+------+------+
| 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;
+----+------+------+
| 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;
+----+------+------+
| 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;
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
| 2 | 0 | NULL |
+----+------+------+