

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の 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>

最初の配列の要素のうち 2 番目の配列に存在しない要素を保持して、2 つの配列の差を返します。関数は NULL セーフです。つまり、NULL は既知のオブジェクトとして扱われます。

## 構文
<a name="array_except-syntax"></a>

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

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

 *array1*   
最初の配列を指定する SUPER 式。

 *array2*   
2 番目の配列を指定する SUPER 式。

 *\$1distinct*   
個別の要素のみを返すかどうかを指定するブール値。  
+ *distinct* = FALSE: マルチセットセマンティクスが適用されます。最初の配列の要素が出現するたびに、2 番目の配列の出現と照合されます。最初の配列における要素の出現が 2 番目の配列よりも多い場合、余分な出現は結果に保持されます。
+ *distinct* = TRUE: セットセマンティクスが適用されます。どちらの配列もセットとして扱われ、重複する要素を無視します。最初の配列にある要素のうち、出現数に関係なく、2 番目の配列のどこかに 1 つでも存在する要素は削除されます。
デフォルトは 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)
```

NULL は既知のオブジェクトとして扱われます。

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