Det finns en enklare metod som är ful, men jag tror att den är tekniskt korrekt:extrahera den största möjliga delen ur arrayen, i motsats till den exakta delen med beräknade gränser. Den undviker de två funktionsanropen.
Exempel:
select ('[5:7]={1,2,3}'::int[])[-2147483648:2147483647];
resulterar i:
int4 --------- {1,2,3}