Fusionne les éléments des tableaux a et b position par position à l'aide de la fonction combiner, puis renvoie un nouveau tableau.
Syntaxe
array<R> zip_with(array<T> <a>, array<S> <b>, function<T, S, R> <combiner>)
Paramètres
a, b : obligatoires. Tableaux de type ARRAY. Les types
TetSdansarray<T>etarray<S>représentent le type de données des éléments du tableau ; ces éléments peuvent être de n'importe quel type.combiner : obligatoire. Fonction (intégrée ou personnalisée) ou expression utilisée pour fusionner les éléments des tableaux a et b. Ses deux paramètres d'entrée doivent correspondre aux types de données des éléments respectifs des tableaux a et b.
Valeur de retour
Renvoie une valeur de type ARRAY. Les règles de retour sont les suivantes :
La position des éléments dans le nouveau tableau correspond à celle des éléments respectifs dans a et b.
Si les tableaux a et b n'ont pas la même longueur, le tableau le plus court est complété avec des valeurs NULL avant la fusion.
Exemples
--返回[2, 4, 6, NULL]。
select zip_with(array(1,2,3), array(1,2,3,4), (x,y) -> x + y);
L'exemple ci-dessus utilise l'opérateur ->. Pour plus d'informations sur les fonctions Lambda utilisant ->, consultez la rubrique Lambda functions.
Fonctions associées
La fonction ZIP_WITH fait partie des fonctions de type complexe. Pour découvrir d'autres fonctions permettant de traiter des données de type complexe (telles que ARRAY, MAP, STRUCT et JSON), consultez la rubrique Complex type functions.