配列aと配列bに同じ要素が含まれているかどうかを確認します。
構文
boolean arrays_overlap(array<T> <a>, array<T> <b>)パラメーター
aおよびb: 必須。 これらのパラメータは配列を指定します。 array<T> のTは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。 配列aの要素と配列bの要素は同じデータ型である必要があります。
次のデータ型がサポートされています。
TINYINT、SMALLINT、INT、およびBIGINT
FLOATとDOUBLE
BOOLEAN
DECIMALとDECIMALVAL
DATE、DATETIME、TIMESTAMP、IntervalDayTime、およびIntervalYearMonth
STRING、BINARY、VARCHAR、CHAR
ARRAY、STRUCT、MAP
戻り値
BOOLEAN型の値が返されます。 戻り値は、次のルールによって異なります。
配列bにある要素が少なくとも1つ含まれており、nullではない場合、trueが返されます。
配列aと配列bに同じ要素が含まれていない場合、両方の配列が空ではなく、一方または両方の配列にnull要素が含まれている場合、nullが返されます。
配列aと配列bが同じ要素を含まず、両方の配列が空ではなく、null要素を含まない場合、falseが返されます。
例
例1:
array(1, 2, 3)とarray(3, 4, 5)に同じ要素が含まれているかどうかを確認します。 例:-- The return value is true. select arrays_overlap(array(1, 2, 3), array(3, 4, 5));例2:
array(1、2、3)とarray(6、4、5)に同じ要素が含まれているかどうかを確認します。 例:-- The return value is false. select arrays_overlap(array(1, 2, 3), array(6, 4, 5));例3: 配列の1つにnull要素が含まれているかどうかを確認します。 例:
-- The return value is null. select arrays_overlap(array(1, 2, 3), array(5, 4, null));
関連関数
ARRAYS_OVERLAPは複合型関数です。 ARRAY、MAP、STRUCT、JSONなどの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.