PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verketten Sie einen String und eine Zahl in PostgreSQL

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