Outputformatierung

Der SQL-Standard ermöglicht die einfache Formatierung des Outputs. In einfachen Fällen wollen Sie einfach zwei Werte miteinander verbinden. Zu diesem Zwecke müssen Sie doppelte Pipes verwenden:

test=# SELECT 'a' || 'b';
 ?column?
----------
 ab
(1 row)

Oft kann es notwendig sein, einen String auf Groß- respektive Kleinbuchstaben zu konvertieren. In PostgreSQL können dazu die Funktionen upper und lower herangezogen werden:

test=# SELECT upper('ab');
 upper
-------
 AB
(1 row)

test=# SELECT lower('AB');
 lower
-------
 ab
(1 row)

Die Spaltenbezeichnungen sind in verschiedensten Fällen von essentieller Bedeutung. Geben Sie keinen Namen explizit an, verwendet PostgreSQL einen etwas unhandlichen Spaltennamen:

test=# SELECT 1+1;
 ?column?
----------
        2
(1 row)

Um den Namen der Spalte auf den gewünschten Wert zu konvertieren, ist eine AS-Clause zu verwenden. Diese Schreibweise sollten Sie bereits aus früheren Beispielen kennen:

test=# SELECT 1+1 AS Spalte;
 spalte
--------
      2
(1 row)

Obwohl wir den Spaltennamen in Großbuchstaben angegeben haben, verwendet PostgreSQL Kleinbuchstaben. Wollen Sie Großbuchstaben erzwingen, benötigen Sie doppelte Anführungszeichen:

test=# SELECT 1+1 AS "Spalte";
 Spalte
--------
      2
(1 row)

Spaltennamen sind nicht nur für die Ausgabe von essentieller Bedeutung. Auch bei Subselects ist es oft wichtig zu wissen, wie sich eine Spalte nennt. Werfen wir ein Blick auf ein einfaches Beispiel:

test=# SELECT * FROM (SELECT 1+1) AS x WHERE "?column?" = 2;
 ?column?
----------
        2
(1 row)

In diesem Fall ist der Spaltenname sehr unhandlich und mühsam zu verwenden. Wesentlich komfortabler geht es mit einem Alias:

test=# SELECT * FROM (SELECT 1+1 AS y) AS x WHERE y = 2;
 y
---
 2
(1 row)

http://www.postgresql.at