メインコンテンツまでスキップ
バージョン: Latest-4.0

array_contains_all

arr1arr2 のすべての要素を含んでいるかどうか、つまり arr2arr1 の部分集合であるかどうかを確認します。もしそうであれば、1 が返されます。そうでなければ、0 が返されます。

構文

BOOLEAN array_contains_all(arr1, arr2)

パラメータ

arr: 比較する2つの配列。この構文は arr2arr1 の部分集合であるかどうかを確認します。

2つの配列内の要素のデータ型は同じでなければなりません。StarRocks がサポートする配列要素のデータ型については、ARRAY を参照してください。

戻り値

BOOLEAN 型の値を返します。

arr2arr1 の部分集合である場合、1 が返されます。それ以外の場合、0 が返されます。

2つの配列のいずれかが NULL の場合、NULL が返されます。

使用上の注意

  • 配列に null 要素が含まれている場合、null は値として処理されます。

  • 空の配列は任意の配列の部分集合です。

  • 2つの配列内の要素は異なる順序を持つことができます。

  1. t1 という名前のテーブルを作成し、このテーブルにデータを挿入します。

    CREATE TABLE t1 (
    c0 INT,
    c1 ARRAY<INT>,
    c2 ARRAY<INT>
    ) ENGINE=OLAP
    DUPLICATE KEY(c0)
    DISTRIBUTED BY HASH(c0);

    INSERT INTO t1 VALUES
    (1,[1,2,3],[1,2]),
    (2,[1,2,3],[1,4]),
    (3,NULL,[1]),
    (4,[1,2,null],NULL),
    (5,[1,2,null],[null]),
    (6,[2,3],[]);
  2. このテーブルからデータをクエリします。

    SELECT * FROM t1 ORDER BY c0;
    +------+------------+----------+
    | c0 | c1 | c2 |
    +------+------------+----------+
    | 1 | [1,2,3] | [1,2] |
    | 2 | [1,2,3] | [1,4] |
    | 3 | NULL | [1] |
    | 4 | [1,2,null] | NULL |
    | 5 | [1,2,null] | [null] |
    | 6 | [2,3] | [] |
    +------+------------+----------+
  3. 各行の c2 が対応する行の c1 の部分集合であるかどうかを確認します。

    SELECT c0, c1, c2, array_contains_all(c1, c2) FROM t1 ORDER BY c0;
    +------+------------+----------+----------------------------+
    | c0 | c1 | c2 | array_contains_all(c1, c2) |
    +------+------------+----------+----------------------------+
    | 1 | [1,2,3] | [1,2] | 1 |
    | 2 | [1,2,3] | [1,4] | 0 |
    | 3 | NULL | [1] | NULL |
    | 4 | [1,2,null] | NULL | NULL |
    | 5 | [1,2,null] | [null] | 1 |
    | 6 | [2,3] | [] | 1 |
    +------+------------+----------+----------------------------+

出力では:

行1では、c2c1 の部分集合であり、1 が返されます。

行2では、c2c1 の部分集合ではなく、0 が返されます。

行3では、c1 は NULL であり、NULL が返されます。

行4では、c2 は NULL であり、NULL が返されます。

行5では、2つの配列に null が含まれており、null は通常の値として処理され、1 が返されます。

行6では、c2 は空の配列であり、c1 の部分集合と見なされます。したがって、1 が返されます。

Rocky the happy otterStarRocks Assistant

AI generated answers are based on docs and other sources. Please test answers in non-production environments.