- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)
ARRAYS_OVERLAP¶
Vergleicht, ob zwei Arrays mindestens ein Element gemeinsam haben. Gibt TRUE zurück, wenn sie mindestens ein Element gemein haben. Andernfalls wird FALSE zurückgegeben. Die Funktion ist NULL-sicher, d. h. sie behandelt NULL-Werte beim Vergleichen auf Gleichheit als bekannte Werte.
- Siehe auch:
Syntax¶
ARRAYS_OVERLAP( <array1> , <array2> )
Nutzungshinweise¶
Bei Vergleichen von Objekten müssen die Objekte identisch sein, damit TRUE zurückgegeben wird. Weitere Details dazu finden Sie unter Beispiele (unter diesem Thema).
Wenn Sie strukturierte ARRAYs übergeben, muss das ARRAY im zweiten Argument mit dem ARRAY im ersten Argument vergleichbar sein.
Beispiele¶
Hier sind einige Beispiele:
SELECT ARRAYS_OVERLAP(array_construct('hello', 'aloha'), array_construct('hello', 'hi', 'hey')) AS Overlap; +---------+ | OVERLAP | |---------| | True | +---------+ SELECT ARRAYS_OVERLAP(array_construct('hello', 'aloha'), array_construct('hola', 'bonjour', 'ciao')) AS Overlap; +---------+ | OVERLAP | |---------| | False | +---------+ SELECT ARRAYS_OVERLAP(array_construct(object_construct('a',1,'b',2), 1, 2), array_construct(object_construct('b',2,'c',3), 3, 4)) AS Overlap; +---------+ | OVERLAP | |---------| | False | +---------+ SELECT ARRAYS_OVERLAP(array_construct(object_construct('a',1,'b',2), 1, 2), array_construct(object_construct('a',1,'b',2), 3, 4)) AS Overlap; +---------+ | OVERLAP | |---------| | True | +---------+
Das folgende Beispiel zeigt, dass NULL-Werte den anderen NULL-Werten gleichkommen. Wenn jedes Array einen NULL-Wert enthält, überlappen sich die Arrays, auch wenn keine anderen (nicht NULL) Werte überlappen:
SELECT ARRAYS_OVERLAP(ARRAY_CONSTRUCT(1, 2, NULL), ARRAY_CONSTRUCT(3, NULL, 5)) AS Overlap; +---------+ | OVERLAP | |---------| | True | +---------+