Преобразование массива в строку с помощью разделительной трубы | в PostgreSQL

Мне нужно сформировать строку из заданного массива.

Предположим, что array [1] = gvk, array [2] = gvk1 и array [3] = gvk2, тогда мне нужно получить эти значения в строке, например:

Mystring = gvk | gvk1 | gvk2

Ответы

Ответ 1

Я думаю, вы можете использовать array_to_string здесь:

array_to_string (anyarray, text) → текст
объединяет элементы массива с использованием предоставленного разделителя

Пример:

scalasb=> select array_to_string(ARRAY[1, 2, 3], '~^~');
 array_to_string 
-----------------
 1~^~2~^~3
(1 row)

scalasb=>

Ответ 2

MS SQL для POSTGRES Blogspot демонстрирует, как реализовать функцию group_concat в Postgres. Это должно быть довольно просто изменить его, чтобы включить разделитель