Fonction ARRAY_INTERSECTION - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner 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 sûre pour les valeurs NULL, ce qui signifie qu'elle traite NULLs les objets comme des objets connus. L'ordre des éléments dans le résultat n'est pas garanti.

Syntaxe

ARRAY_INTERSECTION( array1, array2 [, distinct] )

Arguments

matrice1

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 sémantique multi-ensembles 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)

Sémantique multi-ensembles :

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)

NULLs sont traités comme des objets connus.

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

Consultez aussi