ARRAY_EXCEPT 函數 - Amazon Redshift

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

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

ARRAY_EXCEPT 函數

保留來自第二個陣列中不存在之第一個陣列的元素,以傳回兩個陣列之間的差異。函數是 NULL 安全的,這表示它將 NULLs 視為已知物件。

語法

ARRAY_EXCEPT( array1, array2 [, distinct] )

引數

array1

指定第一個陣列的 SUPER 表達式。

array2

指定第二個陣列的 SUPER 表達式。

distinct

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

  • distinct = FALSE:適用多組語意。每個在第一個陣列中出現的 元素都會與第二個陣列中的出現相符。如果第一個陣列的元素出現次數多於第二個陣列,則結果中會保留額外的出現次數。

  • distinct = TRUE:設定語意適用。這兩個陣列都視為集合,忽略重複的元素。如果第一個陣列中的元素存在於第二個陣列中的任何位置,則無論發生次數為何,都會將其移除。

預設值為 FALSE。

傳回類型

ARRAY_EXCEPT 函數會傳回 SUPER 類型。

範例

下列範例顯示 ARRAY_EXCEPT 函數。

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

多組語意:

SELECT ARRAY_EXCEPT(ARRAY('b','b','b','b'), ARRAY('b','b')); array_except -------------- ["b","b"] (1 row)

設定語意:

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

NULLs視為已知物件。

SELECT ARRAY_EXCEPT(ARRAY('a',NULL), ARRAY(NULL)); array_except -------------- ["a"] (1 row)

另請參閱