

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

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

# ARRAY\$1EXCEPT 函數
<a name="array_except"></a>

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

## 語法
<a name="array_except-syntax"></a>

```
ARRAY_EXCEPT( array1, array2 [, distinct] )
```

## 引數
<a name="array_except-arguments"></a>

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

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

 *distinct*   
布林值，指定是否僅傳回不同的元素：  
+ *distinct* = FALSE：適用多組語意。每個在第一個陣列中出現的 元素都會與第二個陣列中的出現相符。如果第一個陣列的元素出現次數多於第二個陣列，則結果中會保留額外的出現次數。
+ *distinct* = TRUE：設定語意適用。這兩個陣列都視為集合，忽略重複的元素。如果第一個陣列中的元素存在於第二個陣列中的任何位置，則無論發生次數為何，都會將其移除。
預設值為 FALSE。

## 傳回類型
<a name="array_except-return-type"></a>

ARRAY\$1EXCEPT 函數會傳回 SUPER 類型。

## 範例
<a name="array_except-example"></a>

下列範例顯示 ARRAY\$1EXCEPT 函數。

```
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)
```

## 另請參閱
<a name="array_except-see-also"></a>
+ [ARRAY\$1INTERSECTION 函數](array_intersection.md)
+ [ARRAY\$1UNION 函數](array_union.md)
+ [ARRAY\$1DISTINCT 函數](array_distinct.md)
+ [ARRAYS\$1OVERLAP 函數](arrays_overlap.md)