PostgreSQL - функция concat_ws(неизвестно, меняется символ, меняется символ) не существует
У меня есть следующий sql:
SELECT concat_ws(', ', address1, address2, address3) as address
FROM mydb."addresses"
Но я получаю следующую ошибку:
функция concat_ws(неизвестно, символ меняется, символ меняется) не существует
Я использую PostgreSQL 9.0
1 ответ
concat_ws
доступно с версии 9.1.
Я настоятельно рекомендую обновить вашу базу данных.
Версия для 9.0:
SELECT array_to_string(array_agg(field), ', ') -- 4
FROM (
SELECT
unnest( -- 2
ARRAY[address1, address2, address3] -- 1
) as field
FROM address
) s
WHERE field is NOT NULL -- 3
- Объедините все столбцы в один массив
unnest()
этот массив. Это расширяет элемент в каждой строке- фильтровать
NULL
ценности (вот чтоconcat_ws()
делает) - Реагрегировать и преобразовать в строку