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_EXCEPT
Renvoie la différence entre deux tableaux en conservant les éléments du premier tableau qui n'existent pas dans le second tableau. La fonction est sûre pour les valeurs NULL, ce qui signifie qu'elle traite NULLs les objets comme des objets connus.
Syntaxe
ARRAY_EXCEPT( array1, array2 [, distinct] )
Arguments
- tableau 1
-
Expression SUPER qui spécifie le premier tableau.
- tableau 2
-
Expression SUPER qui spécifie le deuxième tableau.
- distinct
-
Une valeur booléenne qui indique s'il faut renvoyer uniquement des éléments distincts :
- distinct = FALSE: Multi-set semantics apply. Each occurrence of an element in the first array is matched against occurrences in the second array. If the first array has more occurrences of an element than the second array, the extra occurrences are preserved in the result.
- distinct = TRUE: Set semantics apply. Both arrays are treated as sets, ignoring duplicate elements. Elements from the first array are removed if they exist anywhere in the second array, regardless of occurrence count.
La valeur par défaut est FALSE.
Type de retour
La fonction ARRAY_EXCEPT renvoie un type SUPER.
Exemple
Les exemples suivants illustrent la fonction ARRAY_EXCEPT.
SELECT ARRAY_EXCEPT(ARRAY('a','b','c'), ARRAY('b','c','d')); array_except -------------- ["a"] (1 row)
Sémantique multi-ensembles :
SELECT ARRAY_EXCEPT(ARRAY('b','b','b','b'), ARRAY('b','b')); array_except -------------- ["b","b"] (1 row)
Sémantique des paramètres :
SELECT ARRAY_EXCEPT(ARRAY('a','b','b'), ARRAY('b'), TRUE); array_except -------------- ["a"] (1 row)
NULLs sont traités comme des objets connus.
SELECT ARRAY_EXCEPT(ARRAY('a',NULL), ARRAY(NULL)); array_except -------------- ["a"] (1 row)