Funzione ARRAY_INTERSECTION - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

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 è priva di valori NULL, il che significa che tratta gli oggetti trattati come oggetti NULLs 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: si applica la semantica a più set. 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)

Semantica a set multipli:

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

Semantica degli insiemi:

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

NULLs vengono trattati come oggetti noti.

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

consultare anche