Fusionne plusieurs tableaux et renvoie un tableau de structures, où la N-ième structure contient les N-ièmes valeurs de tous les tableaux d'entrée.
Syntaxe
array<struct<T, U, ...>> arrays_zip(array<T> <a>, array<U> <b>[, ...])
Paramètres
a, b : Obligatoire. Tableau de type ARRAY. Dans array<T> et array<U>, T et U représentent les types de données des éléments du tableau. Les éléments peuvent être de n'importe quel type.
Les éléments du tableau peuvent être des types suivants :
TINYINT, SMALLINT, INT, BIGINT
FLOAT, DOUBLE
BOOLEAN
DECIMAL, DECIMALVAL
DATE, DATETIME, TIMESTAMP, IntervalDayTime, IntervalYearMonth
STRING, BINARY, VARCHAR, CHAR
ARRAY, STRUCT, MAP
Valeur de retour
Renvoie une valeur de type ARRAY. Règles de retour :
La N-ième structure du tableau résultant contient les N-ièmes valeurs de tous les tableaux d'entrée. Les éléments manquants sont remplis par NULL.
Si l'un des tableaux ARRAY d'entrée est NULL, le résultat est NULL.
Exemples
-
Exemple 1 : Construisez un tableau de structures à partir des tableaux ARRAY
array(1, 2, 3)etarray(2, 3, 4). Exemple de commande :--返回[{0:1, 1:2}, {0:2, 1:3}, {0:3, 1:4}]。 select arrays_zip(array(1, 2, 3), array(2, 3, 4)); -
Exemple 2 : Construisez un tableau de structures à partir des tableaux ARRAY
array(1, 2, 3)etarray(4, 5). Exemple de commande :--返回[{0:1, 1:4}, {0:2, 1:5}, {0:3, 1:NULL}]。 select arrays_zip(array(1, 2, 3), array(4, 5));
Fonctions associées
La fonction ARRAYS_ZIP fait partie des fonctions de type complexe. Pour plus d'informations sur le traitement des données de type complexe (telles que ARRAY, MAP, STRUCT, JSON), consultez Complex type functions.