- Kategorien:
IS [ NOT ] NULL¶
Legt fest, ob ein Ausdruck NULL oder nicht NULL ist.
Syntax¶
<expr> IS [ NOT ] NULL
Rückgabewerte¶
Gibt einen BOOLEAN-Wert zurück.
Wenn IS NULL angegeben wird, ist der Wert TRUE, wenn der Ausdruck NULL ist. Andernfalls wird FALSE zurückgegeben.
Wenn IS NOT NULL angegeben wird, ist der Wert TRUE, wenn der Ausdruck nicht NULL ist. Andernfalls wird FALSE zurückgegeben.
Beispiele¶
Erstellen der Tabelle test_is_not_null
und Laden der Daten:
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);
Anzeigen der Daten in der test_is_not_null
-Tabelle:
SELECT *
FROM test_is_not_null
ORDER BY id;
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
| 1 | 0 | 5 |
| 2 | 0 | NULL |
| 3 | NULL | 5 |
| 4 | NULL | NULL |
+----+------+------+
Verwenden von IS NOT NULL, um die Zeilen zurückzugeben, für die die Werte in col1
nicht NULL sind:
SELECT *
FROM test_is_not_null
WHERE col1 IS NOT NULL
ORDER BY id;
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
| 1 | 0 | 5 |
| 2 | 0 | NULL |
+----+------+------+
Verwenden von IS NULL, um die Zeilen zurückzugeben, für die die Werte in col2
NULL sind:
SELECT *
FROM test_is_not_null
WHERE col2 IS NULL
ORDER BY id;
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
| 2 | 0 | NULL |
| 4 | NULL | NULL |
+----+------+------+
Verwenden einer Kombination aus IS NOT NULL und IS NULL, um die Zeilen zurückzugeben, für die eine der folgenden Bedingungen erfüllt ist:
Die Werte in
col1
sind nicht NULL.Die Werte in
col2
sind 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 |
+----+------+------+
Verwenden einer Kombination aus IS NOT NULL und IS NULL, um die Zeilen zurückzugeben, für die beide der folgenden Bedingungen erfüllt sind:
Die Werte in
col1
sind nicht NULL.Die Werte in
col2
sind 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 |
+----+------+------+