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)