CASE() in PostgreSQL

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche

1 Definition

Der CASE() Ausdruck in PostgreSQL ähnelt der if/else Behandlung in vielen anderen Sprachen.

2 Generalisierte Form

Allgemein verwendet man 'CASE' folgendermaßen.

CASE ausdruck
    WHEN boolean-wert THEN wert
    [WHEN ...]
    [ELSE wert]
END

3 Beispiele

Es gibt zwei Möglichkeiten den CASE Ausdruck zu verwenden.

3.1 Erste Möglichkeit

Nehmen wir an, wir haben folgende Tabelle

 a
---
 1
 2
 3

Führt man auf diese nun folgenden Query aus

SELECT a,
  CASE WHEN a=1 THEN 'eins'
       WHEN a=2 THEN 'zwei'
       ELSE 'sonstiges'
  END
FROM test;

Würde man diese Ausgabe erhalten

 a | case
---+-------
 1 | eins
 2 | zwei
 3 | sonstiges

3.2 Zweite Möglichkeit

Alternativ kann man auch folgende Schreibweise verwenden

SELECT a,
  CASE a WHEN 1 THEN 'eins'
         WHEN 2 THEN 'zwei'
         ELSE 'sonstiges'
  END
FROM test;

4 Quellen

Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.