Zum Inhalt springen

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.