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
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_EXCEPT
Restituisce la differenza tra due matrici mantenendo gli elementi del primo array che non esistono nel secondo array. La funzione è NULL-safe, nel senso che considera i NULL come oggetti noti.
Sintassi
ARRAY_EXCEPT( array1, array2 [, distinct] )
Arguments (Argomenti)
- matrice 1
-
Un'espressione SUPER che specifica il primo array.
- matrice2
-
Un'espressione SUPER che specifica il secondo array.
- distinct
-
Un valore booleano che specifica se restituire solo elementi distinti:
distinct = FALSE: Multi-set si applica la semantica. Ogni occorrenza di un elemento nel primo array viene confrontata con le occorrenze nel secondo array. Se la prima matrice contiene più occorrenze di un elemento rispetto alla seconda matrice, le occorrenze aggiuntive vengono conservate nel risultato.
distinct = TRUE: si applica la semantica impostata. Entrambi gli array vengono trattati come set, ignorando gli elementi duplicati. Gli elementi del primo array vengono rimossi se sono presenti in un punto qualsiasi del secondo array, indipendentemente dal numero di occorrenze.
L'impostazione predefinita è FALSE.
Tipo restituito
La funzione ARRAY_EXCEPT restituisce un tipo SUPER.
Esempio
Gli esempi seguenti mostrano la funzione ARRAY_EXCEPT.
SELECT ARRAY_EXCEPT(ARRAY('a','b','c'), ARRAY('b','c','d')); array_except -------------- ["a"] (1 row)
Multi-set semantica:
SELECT ARRAY_EXCEPT(ARRAY('b','b','b','b'), ARRAY('b','b')); array_except -------------- ["b","b"] (1 row)
Imposta la semantica:
SELECT ARRAY_EXCEPT(ARRAY('a','b','b'), ARRAY('b'), TRUE); array_except -------------- ["a"] (1 row)
I NULL vengono trattati come oggetti noti.
SELECT ARRAY_EXCEPT(ARRAY('a',NULL), ARRAY(NULL)); array_except -------------- ["a"] (1 row)