sql >> Base de Datos >  >> RDS >> PostgreSQL

Normalice los subíndices de matriz para una matriz unidimensional para que comiencen con 1

Hay un método más simple que es feo, pero creo que es técnicamente correcto:extraer el segmento más grande posible de la matriz, a diferencia del segmento exacto con límites calculados. Evita las dos llamadas de función.

Ejemplo:

select ('[5:7]={1,2,3}'::int[])[-2147483648:2147483647];

da como resultado:

  int4   
---------
 {1,2,3}