

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

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

ARRAY\$1EXCEPT 函數會採用兩個陣列做為引數，並傳回僅包含存在於第一個陣列中但不包含第二個陣列之元素的新陣列。

當您需要尋找一個陣列與另一個陣列相比唯一的元素時，ARRAY\$1EXCEPT 非常有用。這在您需要在陣列上執行類似集合的操作時很有用，例如尋找兩組資料之間的差異。

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

```
array_except(array1, array2)
```

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

 *array1*  
具有類似元素的任何類型的 ARRAY。

 *array2*  
元素的 ARRAY，與 *array1* 元素共用最不常見的類型。

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

ARRAY\$1EXCEPT 函數會將符合類型的 ARRAY 傳回至 *array1*，而沒有重複項目。

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

在此範例中，第一個陣列`[1, 2, 3]`包含元素 1、2 和 3。第二個陣列`[2, 3, 4]`包含元素 2、3 和 4。`array_except` 函數會從第一個陣列中移除元素 2 和 3，因為它們也存在於第二個陣列中。產生的輸出是陣列 `[1]`。

```
SELECT array_except(array(1, 2, 3), array(2, 3, 4))
  [1]
```

在此範例中，第一個陣列`[1, 2, 3]`包含元素 1、2 和 3。第二個陣列`[1, 3, 5]`包含元素 1、3 和 5。`array_except` 函數會從第一個陣列中移除元素 1 和 3，因為它們也存在於第二個陣列中。產生的輸出是陣列 `[2]`。

```
SELECT array_except(array(1, 2, 3), array(1, 3, 5));
 [2]
```