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.