ARRAY_INTERSECTION 関数 - Amazon Redshift

Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、ブログ記事を参照してください。

ARRAY_INTERSECTION 関数

両方の入力配列に存在する要素のみを含む新しい配列を返します。関数は NULL セーフです。つまり、NULL は既知のオブジェクトとして扱われます。結果内の要素の順序は保証されていません。

構文

ARRAY_INTERSECTION( array1, array2 [, distinct] )

引数

array1

配列を指定する SUPER 式。

array2

配列を指定する SUPER 式。

$distinct

個別の要素のみを返すかどうかを指定するブール値。

  • distinct = FALSE: マルチセットセマンティクスが適用されます。重複する要素は保持され、結果の各要素の頻度は 2 つの入力配列における頻度の最小値に等しくなります。

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

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

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

関連情報