Maison > base de données > tutoriel mysql > Comment puis-je fusionner deux tableaux de longueur égale dans un tableau bidimensionnel dans PostgreSQL ?

Comment puis-je fusionner deux tableaux de longueur égale dans un tableau bidimensionnel dans PostgreSQL ?

Susan Sarandon
Libérer: 2025-01-04 19:29:41
original
804 Les gens l'ont consulté

How Can I Merge Two Arrays of Equal Length into a Two-Dimensional Array in PostgreSQL?

Combinaison de tableaux avec une fonctionnalité de type Zip dans PostgreSQL

Question : Existe-t-il une fonction spécialisée dans PostgreSQL qui fusionne deux tableaux de longueur égale en un bidimensionnel tableau ?

Réponse :

Postgres 9.5 et versions ultérieures

Présentation de array_agg(expression de tableau), un outil puissant qui combine tous les tableaux d'entrée en un seul tableau d’une dimension supérieure. Cette fonction a effectivement remplacé le besoin de fonctions d'agrégation personnalisées telles que array_agg_mult().

Postgres 9.4

Utilisez ROWS FROM ou la fonction améliorée unnest() pour dissocier plusieurs tableaux simultanément. La taille du tableau résultant correspondra au plus grand tableau d'entrée, avec des tableaux plus petits complétés par des valeurs nulles.

Postgres 9.3 et versions antérieures

Simple Zip() pour un tableau unidimensionnel :

Exploitez la fonction unnest() pour créer une fonctionnalité zip() simple qui désemboîte deux tableaux en parallèle. Cette approche fonctionne efficacement tant que les tableaux ont un nombre égal d'éléments.

Zip() pour un tableau multidimensionnel :

La combinaison des tableaux non imbriqués dans un tableau bidimensionnel nécessite un fonction d'agrégation comme array_agg_mult(). Cette fonction regroupe des tableaux individuels en un tableau multidimensionnel. Pour utiliser cette fonction pour la fonctionnalité zip(), enveloppez-la dans une fonction distincte,

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal