- カテゴリ:
半構造化データ関数 (配列/オブジェクト)
ARRAYS_OVERLAP¶
2つの配列に共通の要素が少なくとも1つあるかどうかを比較します。共通の要素が少なくとも1つある場合は TRUE を返します。そうでない場合は FALSEを返します。この関数は NULL-safeです。つまり、 NULLs を等値比較の既知の値として扱います。
- こちらもご参照ください。
構文¶
ARRAYS_OVERLAP( <array1> , <array2> )
例¶
次にいくつかの例を示します。
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 | +---------+
次の例は、 NULL 値が他の NULL 値と等しいと見なされることを示しています。各配列に NULL 値が含まれている場合、他(NULL以外)の値がオーバーラップしていなくても、配列はオーバーラップします。
SELECT ARRAYS_OVERLAP(ARRAY_CONSTRUCT(1, 2, NULL), ARRAY_CONSTRUCT(3, NULL, 5)) AS Overlap; +---------+ | OVERLAP | |---------| | True | +---------+