Перейти к содержимому
Участник сообщества #66
Участник сообщества #66
27 янв. 2025 г., 06:26(изменён)
Решено
0
0

Обработка массива в одной ячейке PostgreSQL

Из чата сообщества

Коллеги, доброе утро. Подскажите, может кто сталкивался с подобной проблемой?

Появилась задача обработать массив именно в одной ячейке (без unnest) из БД (postgres). Для наглядности демонстрирую на простом массиве чисел.

При попытке обратиться к полю с массивом, возвращается лишь одно значение из него, что подтверждает первый alert всей строки и второй alert конкретно поля numbers в строке.

Позже попробовал ArrayCount на всю строку и увидел, что в ней находится 4 элемента. При итерации по всей строке действительно существуют все 4 элемента - одна строка и три элемента массива - все на одном уровне.

Ко всему этому добавляется потеря типизации, а очень хотелось бы ее сохранить, поскольку в конечном итоге цель на массив xml-нод.

Пробовал через ArrayDirect numbers и row привести, но эффекта 0. Через метод Child у строки то же самое.

photo_2009@27-01-2025_09-26-57.jpg
Участник сообщества
Участник сообщества27 янв. 2025 г., 10:58(изменён)
Решение

Если только вывести, то только строкой через запятую. Далее можно строку в массив

SELECT array_to_string(array[1,2,3],',') AS numbers
Чтобы ответить, необходимо войти в систему