Чтобы удалить элемент last из любого массива (включая json[]
) средствами Postgres 9.4, очевидно, в коде plpgsql:
_result_group := _result_group[1:cardinality(_result_group)-1];
Предполагая одномерный массив с индексами по умолчанию, начинающимися с 1 .
Вы получаете пустой массив для ввода пустого массива и null для нуля.
Согласно руководство , cardinality()
...
возвращает общее количество элементов в массиве или 0, если массив пуст
Тогда просто возьмитесечение массива от 1 до кардинальности -1.
Опять же, ваша попытка также должна работать:
SELECT _result_group[1:array_length(_result_group,1) -1] INTO _result_group;
Для нестандартных индексов массива см .: