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