すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ARRAY_INTERSECT

最終更新日:Dec 16, 2024

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などの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.