В 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.