PostgreSQL bietet uns die folgenden Möglichkeiten, Zeichenfolgen und Zahlen zu verketten:
- Der
CONCAT()
Funktion, die ihre Argumente verkettet. - Der Pipe-Verkettungsoperator (
||
), die ihre Operanden verkettet.
Beispiele für alle unten.
Der CONCAT()
Funktion
Der CONCAT()
Funktion verkettet die Textdarstellungen ihrer Argumente.
Beispiel:
SELECT CONCAT('Player', 456);
Ergebnis:
Player456
Wir können ein Leerzeichen einschließen, indem wir entweder ein Leerzeichen zum vorhandenen String hinzufügen oder indem wir ein drittes Argument verketten, das nur aus einem Leerzeichen besteht:
SELECT
CONCAT('Player ', 456) AS "Option 1",
CONCAT('Player', ' ', 456) AS "Option 2";
Ergebnis:
Option 1 | Option 2 ------------+------------ Player 456 | Player 456
Der Pipe-Verkettungsoperator (||
)
Dieses Beispiel verwendet den Verkettungsoperator (||
):
SELECT 'Player ' || 456;
Ergebnis:
Player 456
In diesem Fall habe ich ein Leerzeichen an das erste Argument angehängt.
Zahlen ohne String verketten
Wenn Sie zwei Zahlen, aber keine Zeichenfolgen verketten müssen, müssen Sie zuerst mindestens eine der Zahlen in eine Zeichenfolge umwandeln. Andernfalls tritt ein Fehler auf.
Beispiel für den Fehler:
SELECT 123 || 456;
Ergebnis:
ERROR: operator does not exist: integer || integer LINE 1: SELECT 123 || 456; ^ HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
Hier ist eine schnelle Möglichkeit, dieses Problem zu lösen:
SELECT CAST(123 AS varchar(3)) || 456;
Ergebnis:
123456