Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im Blog-Posting
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.
Funktion ARRAY_EXCEPT
Gibt den Unterschied zwischen zwei Arrays zurück, indem Elemente aus dem ersten Array beibehalten werden, die im zweiten Array nicht existieren. Die Funktion ist NULL-sicher, d. h. sie behandelt Objekte wie bekannte NULLs Objekte.
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 unterschiedliche Elemente zurückgegeben werden sollen:
distinct = FALSE: Es gilt eine Semantik mit mehreren Sätzen. Jedes Vorkommen eines Elements im ersten Array wird mit Vorkommen im zweiten Array abgeglichen. Wenn das erste Array mehr Vorkommen eines Elements enthält als das zweite Array, 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)
Semantik mit mehreren Sätzen:
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)