2つの配列の交差を計算し、両方の配列に存在する値を含む新しい配列を返します。 このトピックでは、ARRAY_INTERSECT関数の構文、パラメーター、および例について説明します。
構文
array<T> array_intersect(array<T> <a>, array<T> <b>) パラメーター
aおよびb: 必須。 これらのパラメータは配列を指定します。 array<T> のTは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。 配列aの要素と配列bの要素は同じデータ型である必要があります。
戻り値
ARRAY型の値が返されます。 戻り値は、次のルールによって異なります。
配列内の要素がnullの場合、null要素は操作に含まれます。
返された配列には重複する要素はなく、要素は配列aと同じ順序でソートされます。
配列aまたは配列bがnullの場合、nullが返されます。
例
例1:
array(1、2、3)とarray(1、3、5)の交差を計算し、重複する要素を削除します。 例:-- The return value is [1,3]. select array_intersect(array(1, 2, 3), array(1, 3, 5));例2:
配列 (10、20、20、30、null、null)と配列 (30、30、20、20、40、null、null)の共通部分を計算し、重複要素を削除します。 例:-- The return value is [20,30,null]. select array_intersect(array(10, 20, 20, 30, 30, null, null), array(30, 30, 20, 20, 40, null, null));
関連関数
ARRAY_INTERSECTは複合型関数です。 ARRAY、MAP、STRUCT、JSONなどの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.