PostgreSQL | Как получить последний элемент массива?

PostgreSQL | Как получить последний элемент массива?

Получение последнего элемента массива без подзапросов и переворотов — вариант для вычисляемых столбцов GENERATED ALWAYS AS STORED

Пример на литеральном обозначении массива:

SELECT (ARRAY[11,22,33,44])[(array_length(ARRAY[11,22,33,44], 1))];

Пример на ссылочном обозначении массива:

SELECT (arr)[(array_length(arr, 1))];

Вместо «arr» нужно подставить своё выражение до массива.

 

SQL-запрос на переворот массива и получение первого элемента — через подзапросы

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

Жирным красным шрифтом выделено место, куда ты должен подставить свой массив.

Напоминаю, что индексы элементов массивов в PostgreSQL начинаются с единицы (1), а не с нуля (0).

 

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

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

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

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