ARRAY_INTERSECTION 函數 - Amazon Redshift

Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊,請參閱部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ARRAY_INTERSECTION 函數

傳回新陣列,只包含兩個輸入陣列中存在的元素。函數是 NULL 安全的,這表示它將 NULLs 視為已知物件。不保證結果中的元素順序。

語法

ARRAY_INTERSECTION( array1, array2 [, distinct] )

引數

array1

指定陣列的 SUPER 表達式。

array2

指定陣列的 SUPER 表達式。

distinct

布林值,指定是否僅傳回不同的元素:

  • distinct = FALSE:適用多組語意。會保留重複的元素,且結果中每個元素的頻率等於兩個輸入陣列中其頻率的最小值。

  • distinct = TRUE:設定語意適用。只會傳回兩個陣列通用的唯一元素,不會重複。

預設值為 FALSE。

傳回類型

ARRAY_INTERSECTION 函數會傳回 SUPER 類型。

範例

下列範例顯示 ARRAY_INTERSECTION 函數。

SELECT ARRAY_INTERSECTION(ARRAY('a','b','c'), ARRAY('b','c','d')); array_intersection -------------------- ["b","c"] (1 row)

多組語意:

SELECT ARRAY_INTERSECTION(ARRAY('a','b','b'), ARRAY('b','b','b')); array_intersection -------------------- ["b","b"] (1 row)

設定語意:

SELECT ARRAY_INTERSECTION(ARRAY('a','b','b'), ARRAY('b','b','b'), TRUE); array_intersection -------------------- ["b"] (1 row)

NULLs視為已知物件。

SELECT ARRAY_INTERSECTION(ARRAY('a',NULL), ARRAY('b',NULL)); array_intersection -------------------- [null] (1 row)

另請參閱