View a markdown version of this page

ARRAY_EXCEPT-Funktion - Amazon Redshift

Amazon Redshift unterstützt die Verwendung von Python-UDFs nach dem 30. Juni 2026 nicht mehr. Wir werden damit beginnen, es schrittweise durchzusetzen. Weitere Informationen zum Ende der Lebensdauer von Python und zu den Migrationsoptionen finden Sie im Blogbeitrag, der am 30. Juni 2025 veröffentlicht wurde.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

ARRAY_EXCEPT-Funktion

Gibt die Differenz zwischen zwei Arrays zurück, indem Elemente aus dem ersten Array beibehalten werden, die im zweiten Array nicht existieren. Die Funktion ist NULL-safe, das heißt, sie behandelt NULLs werden als bekannte Objekte behandelt.

Syntax

ARRAY_EXCEPT( array1, array2 [, distinct] )

Argumente

Matrix1

Ein SUPER-Ausdruck, der das erste Array angibt.

Matrix2

Ein SUPER-Ausdruck, der das zweite Array angibt.

distinct

Ein boolescher Wert, der angibt, ob nur verschiedene Elemente zurückgegeben werden sollen:

  • distinct = FALSE: Es gilt Multi-set Semantik. Jedes Vorkommen eines Elements im ersten Array wird mit Vorkommen im zweiten Array verglichen. Wenn das erste Array mehr Vorkommen eines Elements als das zweite Array enthält, bleiben die zusätzlichen Vorkommen im Ergebnis erhalten.

  • distinct = TRUE: Es gilt die festgelegte Semantik. Beide Arrays werden als Mengen behandelt, wobei doppelte Elemente ignoriert werden. Elemente aus dem ersten Array werden entfernt, wenn sie irgendwo im zweiten Array existieren, unabhängig von der Anzahl ihrer Vorkommen.

Die Standardeinstellung ist FALSE.

Rückgabetyp

Die Funktion ARRAY_EXCEPT gibt einen SUPER-Typ zurück.

Beispiel

Die folgenden Beispiele zeigen die ARRAY_EXCEPT-Funktion.

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

Multi-set Semantik:

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

Semantik festlegen:

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

NULLs werden als bekanntes Objekt behandelt.

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

Weitere Informationen finden Sie auch unter