View a markdown version of this page

Fonction ARRAY_INTERSECTION - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux UDFs Python à partir du patch 198. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement jusqu’au 30 juin 2026. Pour plus d’informations, consultez le billet de blog .

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonction ARRAY_INTERSECTION

Renvoie un nouveau tableau contenant uniquement les éléments qui existent dans les deux tableaux d'entrée. La fonction est NULL-safe, ce qui signifie qu'elle traite les valeurs NULL. Les objets sont traités comme des objets connus. L'ordre des éléments dans le résultat n'est pas garanti.

Syntaxe

ARRAY_INTERSECTION( array1, array2 [, distinct] )

Arguments

tableau 1

Expression SUPER qui spécifie un tableau.

tableau 2

Expression SUPER qui spécifie un tableau.

distinct

Une valeur booléenne qui indique s'il faut renvoyer uniquement des éléments distincts :

  • distinct = FALSE : la Multi-set sémantique s'applique. Les éléments dupliqués sont préservés et la fréquence de chaque élément du résultat est égale au minimum de ses fréquences dans les deux tableaux d'entrée.

  • distinct = TRUE : la sémantique définie s'applique. Seuls les éléments uniques communs aux deux tableaux sont renvoyés, sans doublons.

La valeur par défaut est FALSE.

Type de retour

La fonction ARRAY_INTERSECTION renvoie un type SUPER.

Exemple

Les exemples suivants illustrent la fonction ARRAY_INTERSECTION.

SELECT ARRAY_INTERSECTION(ARRAY('a','b','c'), ARRAY('b','c','d')); array_intersection -------------------- ["b","c"] (1 row)

Multi-set sémantique :

SELECT ARRAY_INTERSECTION(ARRAY('a','b','b'), ARRAY('b','b','b')); array_intersection -------------------- ["b","b"] (1 row)

Sémantique des paramètres :

SELECT ARRAY_INTERSECTION(ARRAY('a','b','b'), ARRAY('b','b','b'), TRUE); array_intersection -------------------- ["b"] (1 row)

Les valeurs NULL sont traitées comme des objets connus.

SELECT ARRAY_INTERSECTION(ARRAY('a',NULL), ARRAY('b',NULL)); array_intersection -------------------- [null] (1 row)

Consultez aussi