postgresql fournit diverses méthodes pour manipuler les tableaux. Une opération commune consiste à combiner deux tableaux de longueur égale en paires d'éléments. Cet article explore différentes approches pour réaliser cette tâche, en considérant les versions postgresql et les cas d'utilisation spécifiques.
postgresql 9.5 ou ultérieure CONCATENER LES TAIRNES MULTIPLES en un tableau de dimension supérieure. Cette fonction simplifie les tâches de combinaison de table De UNNEST ('{a, b, c}' :: text []) as a, innest ('{d, e, f}' :: text []) as b;
postgreSql 9.4
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;avant Row De.
sélectionnez le tableau [a, b] comme ab De Unnest ('{a, b, c}' :: text [], '{d, e, f}' :: text []) Comme tmp (a, b);
zipping baies pour la sortie multidimensionnellepour les cas où vous devez combiner des tableaux dans un tableau multidimensionnel, une fonction d'agrégat personnalisée est nécessaire. Renvoie l'ensemble de la langue anarray sql comme $ func $ Sélectionnez Array [Array [A, B]] De innais (1 $) comme innest1 (a, b); $ func $;
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;sélectionnez array_agg_mult (array [array [a, b]]) comme ab De innest ('{a, b, c}' :: text []) as a, innest ('{d, e, f}' :: text []) as b;
La fonction suivante fournit une approche généralisée de la zip de zipant de zip de tout type:
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;créer ou remplacer ou remplacer le zip de zip (tout type). Renvoie l'ensemble de la langue anarray sql comme $ func $ Sélectionnez array_agg_mult (array [array [a, b]])) De innais (1 $) comme innest1 (a, b) Rejoignez inné (2 $) comme innest2 (a, b) Sur vrai; $ func $;
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;Scénarios d'utilisation
SELECT array_agg(ARRAY[a, b]) AS ab FROM unnest('{a,b,c}'::text[]) AS a, unnest('{d,e,f}'::text[]) AS b;Zipping simple:
ziping multidimensionnel:
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3