Calcule l'intersection de deux tableaux et renvoie un nouveau tableau contenant les valeurs présentes dans les deux. Cette rubrique décrit la syntaxe, les paramètres et des exemples d'utilisation de la fonction ARRAY_INTERSECT.
Syntaxe
array<T> array_intersect(array<T> <a>, array<T> <b>)
Paramètres
a et b : obligatoires. Ces paramètres spécifient des tableaux. Le type T dans array<T> indique le type de données des éléments contenus dans les tableaux. Les éléments peuvent être de n'importe quel type de données. Les éléments du tableau a et ceux du tableau b doivent impérativement partager le même type de données.
Valeur de retour
La fonction renvoie une valeur de type ARRAY. Le résultat varie selon les règles suivantes :
Si un élément d'un tableau est null, cet élément null participe à l'opération.
Le tableau renvoyé ne contient aucun doublon et ses éléments sont triés selon le même ordre que celui du tableau a.
Si le tableau a ou le tableau b est null, la fonction renvoie null.
Exemples
-
Exemple 1 : Calculez l'intersection entre
array(1, 2, 3)etarray(1, 3, 5), puis supprimez les doublons. Requête exemple :-- The return value is [1,3]. select array_intersect(array(1, 2, 3), array(1, 3, 5)); -
Exemple 2 : Déterminez l'intersection de
array(10, 20, 20, 30, 30, null, null)etarray(30, 30, 20, 20, 40, null, null), en éliminant les éléments dupliqués. Requête exemple :-- The return value is [20,30,null]. select array_intersect(array(10, 20, 20, 30, 30, null, null), array(30, 30, 20, 20, 40, null, null));
Fonctions associées
ARRAY_INTERSECT est une fonction dédiée aux types complexes. Pour plus d'informations sur les fonctions utilisées pour traiter les données de types complexes, tels que ARRAY, MAP, STRUCT et JSON, consultez la section Fonctions de type complexe.