View a markdown version of this page

Funzione ARRAY_INTERSECTION - Amazon Redshift

Amazon Redshift non supporterà più l'uso delle UDF Python dopo il 30 giugno 2026. Inizieremo ad applicarlo per fasi. Per ulteriori informazioni sulla fine del ciclo di vita e sulle opzioni di migrazione di Python, consulta il post del blog pubblicato il 30 giugno 2025.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Funzione ARRAY_INTERSECTION

Restituisce un nuovo array contenente solo gli elementi che esistono in entrambi gli array di input. La funzione è NULL-safe, nel senso che tratta i NULL come oggetti noti. L'ordine degli elementi nel risultato non è garantito.

Sintassi

ARRAY_INTERSECTION( array1, array2 [, distinct] )

Arguments (Argomenti)

matrice 1

Un'espressione SUPER che specifica un array.

matrice 2

Un'espressione SUPER che specifica un array.

distinct

Un valore booleano che specifica se restituire solo elementi distinti:

  • distinct = FALSE: Multi-set si applica la semantica. Gli elementi duplicati vengono preservati e la frequenza di ogni elemento nel risultato è uguale al minimo delle sue frequenze nei due array di input.

  • distinct = TRUE: viene applicata la semantica del set. Vengono restituiti solo gli elementi unici comuni a entrambi gli array, senza duplicati.

L'impostazione predefinita è FALSE.

Tipo restituito

La funzione ARRAY_INTERSECTION restituisce un tipo SUPER.

Esempio

Gli esempi seguenti mostrano la funzione ARRAY_INTERSECTION.

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

Multi-set semantica:

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

Imposta la semantica:

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

I NULL vengono trattati come oggetti noti.

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

consultare anche