View a markdown version of this page

Fonction ARRAY_EXCEPT - Amazon Redshift

Amazon Redshift ne prendra plus en charge l'utilisation des UDF Python après le 30 juin 2026. Nous allons commencer à l'appliquer par étapes. Pour plus d'informations sur les détails de la fin de vie de Python et des options de migration, consultez le billet de blog publié le 30 juin 2025.

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 is NULL-safe, ce qui signifie qu'elle traite les valeurs NULL comme des objets connus.

Syntaxe

ARRAY_EXCEPT( array1, array2 [, distinct] )

Arguments

tableau1

Expression SUPER qui spécifie le premier tableau.

tableau 2

Expression SUPER qui spécifie le deuxième tableau.

distinct

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 comparée à 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 préservé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)

Définissez la sémantique :

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