Heim >Datenbank >MySQL-Tutorial >Wie komprimiere ich zwei Arrays in PostgreSQL, um ein mehrdimensionales Array zu erstellen?
Es gibt mehrere Methoden, um zwei Arrays zu einem einzigen zu kombinieren mehrdimensionales Array mit Postgres-Funktionen:
Postgres 9.5 oder später:
Postgres 9.4:
Postgres 9.3 oder älter:
Betrachten Sie das folgende Beispiel für Postgres 9.3 oder früher:
SELECT ARRAY[a,b] AS ab FROM ( SELECT unnest('{a,b,c}'::text[]) AS a , unnest('{d,e,f}'::text[]) AS b ) x;
Ergebnis:
ab ------- {a,d} {b,e} {c,f}
Um den resultierenden Satz von Arrays zu einem zweidimensionalen Array zusammenzufassen, wird eine benutzerdefinierte Aggregatfunktion aufgerufen array_agg_mult() wird benötigt:
CREATE AGGREGATE array_agg_mult (anyarray) ( SFUNC = array_cat , STYPE = anyarray , INITCOND = '{}' );
Dann verwenden Sie es wie folgt:
SELECT array_agg_mult(ARRAY[ARRAY[a,b]]) AS ab FROM ( SELECT unnest('{a,b,c}'::text[]) AS a , unnest('{d,e,f}'::text[]) AS b ) x;
Ergebnis:
{{a,d},{b,e},{c,f}}
Das obige ist der detaillierte Inhalt vonWie komprimiere ich zwei Arrays in PostgreSQL, um ein mehrdimensionales Array zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!