Funktion ARRAY_INTERSECTION - Amazon Redshift

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_INTERSECTION

Gibt ein neues Array zurück, das nur die Elemente enthält, die in beiden Eingabearrays vorhanden sind. Die Funktion ist NULL-sicher, d. h. sie behandelt Objekte wie bekannte NULLs Objekte. Die Reihenfolge der Elemente im Ergebnis ist nicht garantiert.

Syntax

ARRAY_INTERSECTION( array1, array2 [, distinct] )

Argumente

Array1

Ein SUPER-Ausdruck, der ein Array spezifiziert.

Matrix2

Ein SUPER-Ausdruck, der ein Array spezifiziert.

distinct

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

  • distinct = FALSE: Multi-set semantics apply. Duplicate elements are preserved, and the frequency of each element in the result equals the minimum of its frequencies in the two input arrays.
  • distinct = TRUE: Set semantics apply. Only unique elements common to both arrays are returned, with no duplicates.

Die Standardeinstellung ist FALSE.

Rückgabetyp

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

Beispiel

Die folgenden Beispiele zeigen die Funktion ARRAY_INTERSECTION.

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

Semantik mit mehreren Sätzen:

SELECT ARRAY_INTERSECTION(ARRAY('a','b','b'), ARRAY('b','b','b')); array_intersection -------------------- ["b","b"] (1 row)

Semantik festlegen:

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

NULLs werden als bekanntes Objekt behandelt.

SELECT ARRAY_INTERSECTION(ARRAY('a',NULL), ARRAY('b',NULL)); array_intersection -------------------- [null] (1 row)

Weitere Informationen finden Sie auch unter