Referencia de funciones

UNNEST

Expande un array en un conjunto de filas, una fila por elemento.

PostgreSQL 17.9
UNNEST(array[, ...])
  • [ ]parte opcional
  • ...se puede repetir
array
Array; varios arrays se expanden en columnas contiguas
anyarray

Valor devuelto

Conjunto de filas con los elementos del array, del mismo tipo

Ejemplos

Array a filas

PostgreSQL 17.9
SELECT UNNEST(ARRAY ['sql', 'python', 'java']) AS language;
language
sql
python
java

Elementos con su número

PostgreSQL 17.9
SELECT letter,
	position
FROM UNNEST(ARRAY ['a', 'b', 'c']) WITH ORDINALITY AS t(letter, position);
letterposition
a1
b2
c3

Dos arrays uno al lado del otro

PostgreSQL 17.9
SELECT *
FROM UNNEST(ARRAY ['a', 'b', 'c'], ARRAY [1, 2]) AS t(letter, num);
letternum
a1
b2
c<NULL>

Detalles

WITH ORDINALITY añade el número del elemento. Si los arrays tienen longitudes distintas, los valores que faltan se rellenan con NULL. UNNEST es la operación inversa de ARRAY_AGG; un array vacío o NULL da un conjunto vacío.

Véase también