W PostgreSQL CONCAT_WS()
funkcja łączy dwa lub więcej ciągów, umieszczając separator między nimi. Separator jest określony przez pierwszy argument.
Składnia
Składnia wygląda tak:
concat_ws(sep text, str "any" [, str "any" [, ...] ])
Gdzie sep text
jest separatorem do użycia.
Przykład
Oto przykład do zademonstrowania:
SELECT CONCAT_WS(',', 'Red', 'Green');
Wynik:
Red,Green
W tym przypadku połączyłem ciągi z przecinkiem jako separatorem.
Oto przykład, w którym separatorem jest spacja:
SELECT CONCAT_WS(' ', 'Squid', 'Game');
Wynik:
Squid Game
Łączenie liczb
PostgreSQL łączy tekstową reprezentację swoich argumentów, dzięki czemu możemy łączyć liczby bez konieczności jawnego przekształcania ich w łańcuch:
SELECT CONCAT_WS(',', 1, 2, 3);
Wynik:
1,2,3
Uważaj jednak, jeśli są wiodące zera:
SELECT CONCAT_WS(',', 001, 002, 003);
Wynik:
1,2,3
Argumenty zerowe
Argumenty zerowe są ignorowane:
SELECT CONCAT_WS(' ', 'Player', NULL, 456);
Wynik:
Player 456
Brak argumentów
Wywołanie CONCAT_WS()
bez przekazania żadnych argumentów powoduje błąd:
SELECT CONCAT_WS();
Wynik:
ERROR: function concat_ws() does not exist LINE 1: SELECT CONCAT_WS(); ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.