Kategorien:

Funktionen für bedingte Ausdrücke

IS [ NOT ] NULL

Legt fest, ob ein Ausdruck NULL oder nicht NULL ist.

Syntax

<expr> IS [ NOT ] NULL
Copy

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);
Copy

Anzeigen der Daten in der test_is_not_null-Tabelle:

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 |
+----+------+------+

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;
Copy
+----+------+------+
| 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;
Copy
+----+------+------+
| 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;
Copy
+----+------+------+
| 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;
Copy
+----+------+------+
| ID | COL1 | COL2 |
|----+------+------|
|  2 |    0 | NULL |
+----+------+------+