Zum Hauptinhalt springen

Brechen Sie das Array in der PostgreSQL-Funktion unnest auf

Eines der leistungsstärksten Werkzeuge von PostgreSQL ist die Funktion unnest. Sie können ein Array in seine einzelnen Elemente aufteilen und es als separate Zeilen im Resultset darstellen.

Es ist oft notwendig, mit Daten zu arbeiten, die als Arrays dargestellt werden. Zum Beispiel haben wir eine Tabelle, in der jede Zeile ein Array von Werten enthält: (1,2,3). Manchmal ist es notwendig, auf jedes Element dieses Arrays einzeln zuzugreifen. Hier kommt die Unnest-Funktion zur Rettung.

Die Anwendung der Funktion ist sehr einfach. Übergeben Sie einfach Ihr Array als Argument an die unnest-Funktion und es werden seine Elemente als separate Strings zurückgegeben. Darüber hinaus kann eine Funktion innerhalb einer SELECT-Anweisung verwendet werden, sodass Sie sie mit anderen Funktionen und Operatoren kombinieren kann, um die gewünschten Ergebnisse zu erzielen.

Ein Array in PostgreSQL aufteilen

Es gibt eine Funktion in PostgreSQL unnest, mit der Sie das Array in einzelne Elemente aufteilen können. Dies ist sehr praktisch, wenn Sie separat mit Daten innerhalb eines Arrays arbeiten müssen.

Zum Beispiel haben wir ein Array mit Benutzernamen:

['Иван', 'Мария', 'Алексей']

Und wir möchten eine Liste aller Namen in separaten Zeilen erhalten:

ИванМарияАлексей

Dazu können wir die Funktion verwenden unnest:

SELECT unnest(['Иван', 'Мария', 'Алексей']);

Das Ergebnis ist die folgende Tabelle:

 unnest----------ИванМарияАлексей

Jetzt können wir diese Werte für die weitere Analyse oder Verarbeitung von Daten verwenden.

Funktion unnest kann auch verwendet werden, um Arrays mit komplexeren Datenstrukturen, wie z. B. Objektarrays oder Array-Arrays, zu partitionieren.

Daher ist die Funktion unnest es ist ein sehr nützliches Werkzeug bei der Arbeit mit Arrays in PostgreSQL, mit dem Sie Daten effizient verarbeiten und die gewünschten Ergebnisse erzielen können.

Verwenden der Unnest-Funktion für einfachen Zugriff auf Array-Elemente

PostgreSQL bietet eine Unnest-Funktion, mit der Sie Arrays einfach in einzelne Elemente aufteilen können. Dies ist sehr nützlich, wenn Sie mit Daten arbeiten, die in Arrays gespeichert sind und auf jedes Element zugreifen müssen.

Die unnest-Funktion gibt eine Reihe von Zeilen zurück, in denen jede Zeile ein Element aus dem ursprünglichen Array enthält. Dies bedeutet, dass Sie diese Funktion in Kombination mit anderen PostgreSQL-Operatoren und -Funktionen verwenden können, um verschiedene Operationen an Array-Elementen durchzuführen.

Um die Unnest-Funktion zu verwenden, müssen Sie einfach den Array-Namen als Argument angeben. Zum Beispiel:

SELECT unnest(''::int[]);

Das Ergebnis dieser Abfrage ist ein Rowset mit Arrayelementen:

unnest--------1234(4 rows)

Nachdem Sie nun einzelne Elemente des Arrays haben, können Sie verschiedene Operationen und Funktionen auf sie anwenden. Sie können beispielsweise Aggregatfunktionen verwenden, um Berechnungen über Arrayelemente durchzuführen oder verschiedene Elemente zu neuen Datenstrukturen zu kombinieren.

Außerdem kann die Unnest-Funktion mit Tabellen und Datenansichten verwendet werden. Sie können beispielsweise Arrays, die in einer Tabellenspalte gespeichert sind, in einzelne Elemente aufteilen:

SELECT id, unnest(array_column) AS valueFROM my_table;

Diese Abfrage gibt Ergebnisse zurück, wobei jede Zeile eine Datensatzkennung und ein einzelnes Element aus dem Array enthält, das in der array_column-Spalte der Tabelle my_table gespeichert ist.

Die Unnest-Funktion bietet eine bequeme Möglichkeit, Arrays in einzelne Elemente aufzuteilen und erleichtert die Arbeit mit Daten, die in Arrays in PostgreSQL gespeichert sind.