UNNEST
Entfaltet ein Array in eine Menge von Zeilen, eine Zeile pro Element.
PostgreSQL 17.9
UNNEST(array[, ...])- [ ]optionaler Teil
- ...kann wiederholt werden
- array
- Array; mehrere Arrays werden in nebeneinanderliegende Spalten entfaltetanyarray
Rückgabewert
Menge von Zeilen mit den Array-Elementen desselben Typs
Beispiele
Array in Zeilen
PostgreSQL 17.9
SELECT UNNEST(ARRAY ['sql', 'python', 'java']) AS language;Elemente mit Nummern
PostgreSQL 17.9
SELECT letter,
position
FROM UNNEST(ARRAY ['a', 'b', 'c']) WITH ORDINALITY AS t(letter, position);Zwei Arrays nebeneinander
PostgreSQL 17.9
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.