PostgreSQL zapewnia nam następujące sposoby łączenia ciągów i liczb:
CONCAT()funkcja, która łączy swoje argumenty.- Operator konkatenacji potoku (
||), który łączy jego operandy.
Przykłady każdego z nich poniżej.
CONCAT() Funkcja
CONCAT() funkcja łączy reprezentacje tekstowe swoich argumentów.
Przykład:
SELECT CONCAT('Player', 456); Wynik:
Player456
Możemy dołączyć spację, dodając spację do istniejącego ciągu lub łącząc, dołączając trzeci argument, który składa się wyłącznie ze spacji:
SELECT
CONCAT('Player ', 456) AS "Option 1",
CONCAT('Player', ' ', 456) AS "Option 2"; Wynik:
Option 1 | Option 2 ------------+------------ Player 456 | Player 456
Operator konkatenacji potoku (|| )
W tym przykładzie użyto operatora konkatenacji (|| ):
SELECT 'Player ' || 456; Wynik:
Player 456
W tym przypadku dodałem spację do pierwszego argumentu.
Łączenie liczb bez ciągu
Jeśli chcesz połączyć dwie liczby, ale bez ciągów, musisz najpierw rzucić co najmniej jedną z liczb na ciąg. W przeciwnym razie wystąpi błąd.
Przykład błędu:
SELECT 123 || 456; Wynik:
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. Oto szybki sposób rozwiązania tego problemu:
SELECT CAST(123 AS varchar(3)) || 456; Wynik:
123456