MaxCompute ARRAY_INTERSECT函數用於計算兩個ARRAY數組之間的交集,並返回一個包含兩個數組中都存在的相同值的新數組。本文為您介紹ARRAY_INTERSECT函數的命令格式、參數說明以及使用樣本。
命令格式
array<T> array_intersect(array<T> <a>, array<T> <b>)
參數說明
a、b:必填。ARRAY數組。array<T>
中的T
指代ARRAY數組元素的資料類型,數組中的元素可以為任意類型。a和b的資料類型必須保持一致。
傳回值說明
返回ARRAY類型。返回規則如下:
ARRAY數組中存在元素為NULL時,NULL值會參與運算。
新ARRAY數組無重複元素且元素順序與a中的元素順序保持一致。
如果ARRAY數組a或b為NULL,返回NULL。
使用樣本
樣本1:計算ARRAY數組
array(1, 2, 3)
和array(1, 3, 5)
的交集,並去掉重複元素。命令樣本如下。--返回[1,3]。 select array_intersect(array(1, 2, 3), array(1, 3, 5));
樣本2:計算ARRAY數組
array(10, 20, 20, 30, 30, null, null)
和array(30, 30, 20, 20, 40, null, null)
的交集,並去掉重複元素。命令樣本如下。--返回[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資料)的處理函數請參見複雜類型函數。