View a markdown version of this page

Fonction ARRAY_EXCEPT - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux UDFs Python à partir du patch 198. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement 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 NULL-safe, ce qui signifie qu'elle traite les valeurs NULL. Les objets sont traités 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 : la Multi-set sémantique s'applique. Chaque occurrence d'un élément du premier tableau est mise en correspondance avec des occurrences du second tableau. Si le premier tableau contient plus d'occurrences d'un élément que le second tableau, les occurrences supplémentaires sont conservées dans le résultat.

  • distinct = TRUE : la sémantique définie s'applique. Les deux tableaux sont traités comme des ensembles, sans tenir compte des éléments dupliqués. Les éléments du premier tableau sont supprimés s'ils existent n'importe où dans le second tableau, quel que soit le nombre d'occurrences.

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)

Multi-set sémantique :

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)

Les valeurs NULL sont traitées comme des objets connus.

SELECT ARRAY_EXCEPT(ARRAY('a',NULL), ARRAY(NULL)); array_except -------------- ["a"] (1 row)

Consultez aussi