В PostgreSQL, CONCAT_WS() функцията конкатенира два или повече низа, поставяйки разделител между всеки от тях. Разделителят се посочва от първия аргумент.
Синтаксис
Синтаксисът е така:
concat_ws(sep text, str "any" [, str "any" [, ...] ])
Където sep text е разделителят за използване.
Пример
Ето пример за демонстрация:
SELECT CONCAT_WS(',', 'Red', 'Green'); Резултат:
Red,Green
В този случай свързах низовете със запетая като разделител.
Ето пример, който използва интервал като разделител:
SELECT CONCAT_WS(' ', 'Squid', 'Game'); Резултат:
Squid Game
Свързване на числа
PostgreSQL конкатенира текстовото представяне на своите аргументи, така че можем да конкатенираме числа, без да се налага изрично да ги преобразуваме в низ:
SELECT CONCAT_WS(',', 1, 2, 3); Резултат:
1,2,3
Въпреки това, внимавайте, ако има водещи нули:
SELECT CONCAT_WS(',', 001, 002, 003); Резултат:
1,2,3
Нулеви аргументи
Нулевите аргументи се игнорират:
SELECT CONCAT_WS(' ', 'Player', NULL, 456); Резултат:
Player 456
Без аргументи
Извикване на CONCAT_WS() без подаване на аргументи води до грешка:
SELECT CONCAT_WS(); Резултат:
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.