- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)
ARRAY_INTERSECTION¶
Gibt ein Array zurück, das die übereinstimmenden Elemente in den beiden Eingabearrays enthält.
Die Funktion ist NULL-sicher, d. h. sie behandelt NULL-Werte beim Vergleichen der Gleichheit als bekannte Werte.
- Siehe auch:
Syntax¶
Argumente¶
array1Ein Array, das zu vergleichende Elemente enthält.
array2Ein Array, das zu vergleichende Elemente enthält.
Rückgabewerte¶
Diese Funktion gibt ein ARRAY zurück, das die übereinstimmenden Elemente der Eingabearrays enthält.
Wenn sich keine Elemente überlappen, gibt die Funktion ein leeres Array zurück.
Wenn eines oder beide Argumente NULL sind, gibt die Funktion NULL zurück.
Die Reihenfolge der Werte innerhalb des zurückgegebenen Arrays ist nicht angegeben.
Nutzungshinweise¶
Beim Vergleichen von Daten des Typs
OBJECTmüssen die Objekte identisch sein, um als übereinstimmend angesehen zu werden. Weitere Details dazu finden Sie unter Beispiele (unter diesem Thema).Der Unterschied zwischen
ARRAY_INTERSECTIONund der zugehörigenARRAYS_OVERLAP-Funktion besteht darin, dass dieARRAYS_OVERLAP-Funktion einfachTRUEoderFALSEzurückgibt, währendARRAY_INTERSECTIONdie sich tatsächlich überlappenden Werte zurückgibt.In Snowflake sind Arrays Multimengen, keine Mengen. Mit anderen Worten, Arrays können mehrere Kopien desselben Werts enthalten.
ARRAY_INTERSECTIONvergleicht Arrays mithilfe der Multimengen-Semantik (manchmal auch als „Bag-Semantik“ bezeichnet). Dies bedeutet, dass die Funktion mehrere Kopien desselben Werts zurückgeben kann. Wenn ein Array N Kopien eines Werts und das andere Array M Kopien desselben Werts hat, ist die Anzahl der Kopien im zurückgegebenen Array kleiner als N oder M. Wenn beispielsweise N = 4 und M = 2 ist, dann enthält der zurückgegebene Wert 2 Kopien.
Beide Argumente müssen entweder strukturierte ARRAYs oder semistrukturierte ARRAYs sein.
Wenn Sie strukturierte ARRAYs übergeben:
Die Funktion gibt ein ARRAY eines Typs zurück, der beide Eingabetypen aufnehmen kann.
Das ARRAY im zweiten Argument muss vergleichbar mit dem ARRAY im ersten Argument sein.
Beispiele¶
Das folgende Beispiel zeigt die einfache Verwendung der Funktion:
Die Sätze können mehr als einen übereinstimmenden Wert haben:
Möglicherweise gibt es mehr als eine Instanz desselben übereinstimmenden Werts. In der folgenden Abfrage enthält ein Array beispielsweise drei Kopien des Buchstabens „B“, und das andere Array enthält zwei Kopien des Buchstabens „B“. Das Ergebnis enthält zwei Übereinstimmungen:
Im nächsten Beispiel wird eine größere Menge von Daten verwendet:
Das folgende Beispiel zeigt die Verwendung mit NULL-Werten:
Das folgende Beispiel zeigt die Verwendung mit dem Datentyp OBJECT:
Obwohl NULL-Werte in einem Array als vergleichbare Werte behandelt werden, lautet das Ergebnis NULL, wenn Sie NULL anstelle eines Arrays übergeben: