sql >> Database >  >> RDS >> PostgreSQL

Een tekenreeks en een getal samenvoegen in PostgreSQL

PostgreSQL biedt ons de volgende manieren om tekenreeksen en getallen samen te voegen:

  • De CONCAT() functie, die zijn argumenten samenvoegt.
  • De operator voor pijpaaneenschakeling (|| ), die zijn operanden samenvoegt.

Voorbeelden van elk hieronder.

De CONCAT() Functie

De CONCAT() functie voegt de tekstrepresentaties van zijn argumenten samen.

Voorbeeld:

SELECT CONCAT('Player', 456);

Resultaat:

Player456

We kunnen een spatie toevoegen door een spatie toe te voegen aan de bestaande string, of door een derde argument samen te voegen dat uitsluitend uit een spatie bestaat:

SELECT 
    CONCAT('Player ', 456) AS "Option 1",
    CONCAT('Player', ' ', 456) AS "Option 2";

Resultaat:

  Option 1  |  Option 2  
------------+------------
 Player 456 | Player 456

De Pipe Concatenation Operator (|| )

Dit voorbeeld gebruikt de aaneenschakelingsoperator (|| ):

SELECT 'Player ' || 456;

Resultaat:

Player 456

In dit geval heb ik een spatie toegevoegd aan het eerste argument.

Getallen aaneenschakelen zonder string

Als u twee getallen maar geen tekenreeksen wilt samenvoegen, moet u eerst ten minste één van de cijfers naar een tekenreeks casten. Anders treedt er een fout op.

Voorbeeld van de fout:

SELECT 123 || 456;

Resultaat:

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 is een snelle manier om dit probleem op te lossen:

SELECT CAST(123 AS varchar(3)) || 456;

Resultaat:

123456

  1. Hoe het queryresultaat naar Excel te exporteren in Oracle SQL Developer?

  2. Bewaar uitvoer van sql-functie naar csv-bestand (COPY) met dynamische bestandsnaam

  3. CASCADE VERWIJDEREN slechts één keer

  4. Lumen - Databaseverbinding maken tijdens runtime