PostgreSQL | Как перевернуть массив? — efim360.ru

PostgreSQL | Как перевернуть массив?

Переворот массива подзапросами в PostgreSQL

SELECT ARRAY(SELECT array_item FROM unnest(ARRAY[1, 2, 3, 4, 5]) WITH ORDINALITY AS t(array_item, position) ORDER BY position DESC);

или

SELECT ARRAY(SELECT array_item FROM unnest( ТВОЙ_МАССИВ ) WITH ORDINALITY AS t(array_item, position) ORDER BY position DESC);

Как отзеркалить массив? Чтобы не писать отдельную функцию, достаточно добавить свой массив в нужное место выражения и ты получишь перевёрнутую версию своего массива.

За основу переворота массива взято предложение WITH ORDINALITY, которое добавляет к столбцу unnest последовательную нумерацию элементов оригинального массива в виде отдельного столбца.

Имея такую таблицу можно использовать предложение ORDER BY position DESC, чтобы поменять очерёдность элементов. Затем выбрасываем сам столбец нумерации и конвертируем отзеркаленные элементы в новый массив.

Перевернули массив в PostgreSQL при помощи подзапросов
Перевернули массив в PostgreSQL при помощи подзапросов

 

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdminhttps://www.pgadmin.org

Официальный сайт СУБД PostgreSQLhttps://www.postgresql.org

Команды SQLhttps://postgrespro.ru/docs/postgresql/15/sql-commands