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
- array1
-
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: 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.
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)