Boolean-Typ
| Name | Aliases | Beschreibung |
|---|---|---|
BOOLEAN |
BOOL |
Logischer Boolean (true / false) |
Der BOOLEAN-Typ steht für eine Wahrheitsaussage („true“ oder „false“). In SQL kann das BOOLEAN-Feld außerdem einen dritten Zustand „unbekannt“ haben, der durch den SQL-Wert NULL dargestellt wird.
Die drei möglichen Werte einer BOOLEAN-Spalte auswählen:
SELECT true, false, NULL::BOOLEAN;Boolean-Werte können explizit mit den Literalen true und false erzeugt werden. Meist entstehen sie jedoch als Ergebnis von Vergleichen oder Konjunktionen. Der Vergleich i > 10 liefert beispielsweise einen Boolean-Wert. Boolean-Werte können in den Klauseln WHERE und HAVING einer SQL-Anweisung verwendet werden, um Tupel aus dem Ergebnis zu filtern. In diesem Fall passieren Tupel, für die das Prädikat zu true auswertet, den Filter; Tupel, für die das Prädikat zu false oder NULL auswertet, werden herausgefiltert. Betrachten Sie das folgende Beispiel:
Eine Tabelle mit den Werten 5, 15 und NULL anlegen:
CREATE TABLE integers (i INTEGER);INSERT INTO integers VALUES (5), (15), (NULL);Alle Einträge auswählen, bei denen i > 10:
SELECT * FROM integers WHERE i > 10;In diesem Fall werden 5 und NULL herausgefiltert (5 > 10 ist false und NULL > 10 ist NULL):
| i |
|---|
| 15 |
Konjunktionen
Die Konjunktionen AND / OR können verwendet werden, um Boolean-Werte zu kombinieren.
Nachfolgend die Wahrheitstabelle für die AND-Konjunktion (d. h. x AND y).
X |
X AND true |
X AND false |
X AND NULL |
|---|---|---|---|
| true | true | false | NULL |
| false | false | false | false |
| NULL | NULL | false | NULL |
Nachfolgend die Wahrheitstabelle für die OR-Konjunktion (d. h. x OR y).
X |
X OR true |
X OR false |
X OR NULL |
|---|---|---|---|
| true | true | true | true |
| false | true | false | NULL |
| NULL | true | NULL | NULL |
Ausdrücke
Siehe Logische Operatoren und Vergleichsoperatoren.