Функция unnest() в PostgreSQL позволяет «распаковать» массивы в строки. 1 Это удобно, если нужно отобразить массивы в виде простой таблицы. 1
Синтаксис: unnest(array)
. 1
Пример использования: 1 если есть массив с числами от 1 до 5, то можно применить функцию unnest() и получить каждое число в отдельной строке таблицы: 1
SELECT unnest (ARRAY[1,2,3,4,5]);
Ещё один пример: 1 если нужно преобразовать столбцы, содержащие массивы, в отдельные строки, то пример использования: SELECT unnest(array_column) FROM table_name
. 3
Для работы с несколькими массивами разных типов данных используется синтаксис unnest(array1, array2, array3…)
: 1
SELECT * FROM unnest (array [1, 2, 3], array ['HP', 'AMD', 'APPLE'] ) AS data(ID, Company);
Если массивы имеют разное число элементов, то функция автоматически дополнит их NULL-значениями до нужного размера. 1