UNNEST
Entfaltet ein Array in eine Menge von Zeilen, eine Zeile pro Element.
PostgreSQL 17.5
UNNEST(array[, ...])Parameter
- arrayanyarray
- Array; mehrere Arrays werden in nebeneinanderliegende Spalten entfaltet
Rückgabewert
Menge von Zeilen mit den Array-Elementen desselben Typs
Beispiele
Array in Zeilen
PostgreSQL 17.5
SELECT UNNEST(ARRAY ['sql', 'python', 'java']) AS language;Elemente mit Nummern
PostgreSQL 17.5
SELECT letter,
position
FROM UNNEST(ARRAY ['a', 'b', 'c']) WITH ORDINALITY AS t(letter, position);Zwei Arrays nebeneinander
PostgreSQL 17.5
SELECT *
FROM UNNEST(ARRAY ['a', 'b', 'c'], ARRAY [1, 2]) AS t(letter, num);Details
WITH ORDINALITY fügt die Nummer des Elements hinzu. Sind die Arrays unterschiedlich lang, werden fehlende Werte mit NULL aufgefüllt. UNNEST ist das Gegenstück zu ARRAY_AGG; ein leeres Array oder NULL ergibt eine leere Menge.