View a markdown version of this page

Funzione ARRAY_INTERSECTION - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dalla Patch 198. Le UDF Python esistenti continueranno 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 è 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