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