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

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: Multi-set semantics apply. Duplicate elements are preserved, and the frequency of each element in the result equals the minimum of its frequencies in the two input arrays.
  • distinct = TRUE: Set semantics apply. Only unique elements common to both arrays are returned, with no duplicates.

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