postgresql liefert verschiedene Methoden zum Manipulieren von Arrays. Eine übliche Operation kombiniert zwei Arrays gleicher Länge zu Elementenpaaren. In diesem Artikel werden verschiedene Ansätze zur Erreichung dieser Aufgabe untersucht, unter Berücksichtigung von PostgreSQL-Versionen und spezifischen Anwendungsfällen.
postgresql 9.5 oder später
postgresing 9.5 introwuces array_agg (array), yo & aveSQlesql 9.5 introwuces array (array), yo & aveggessql 9.5, agg. Verkettieren Sie mehrere Arrays in ein höherdimensionales Array. Diese Funktion vereinfacht Array -Kombinationsaufgaben und beseitigt die Notwendigkeit benutzerdefinierter Aggregatfunktionen.Wählen Sie Array_agg (Array [A, B]) als AB aus Von unnest ('{a, b, c}' :: text []) as a, unnest ('{d, e, f}' :: text []) als b;
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;
postgresql 9.4
priseql 9.5, ein alternatives Ansatz, birgt Unnest () uwnest (uwghgresql 9.5, ein alternatives Ansatz beinhaltet, beinhaltet (usn. Von.wählen Sie Array [a, b] als ab Von unnest ('{a, b, c}' :: text [], '{d, e, f}' :: text []) Als tmp (a, b);
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;riss Arrays für mehrdimensionale Ausgabe
Wählen Sie Array_AGG_MULT (Array [Array [a, b]]) als AB Von unnest ('{a, b, c}' :: text []) as a, unnest ('{d, e, f}' :: text []) als b;
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;verallgemeinerte ZIP -Funktion
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;Die folgende Funktion liefert eine generalisierte Annäherung an Zipfel an, wodurch eine Art und JEDE JEDEM SCHLAYNE -Typ. Gibt zurück $ func $ Wählen Sie Array_AGG_MULT (Array [Array [a, b]]) Von unlust ($ 1) als unnest1 (a, b) Melden Sie sich bei unnest ($ 2) als unlest2 (a, b) bei Auf wahr; $ func $;
Die in diesem Artikel dargestellten Beispiele zeigen verschiedene Szenarien für das Kombinieren von Arrays:
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;
kombiniert Arrays in ein Set von Elementen (einzelne DIMENSIONALE (EINGLEINE) (einzelne Dimeration (Single-Dimecyalal) (einzelne DIMPISALE (einzelne Dimerie Ausgabe).
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3