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

array_contains_seq

説明

array2 のすべての要素が array1 に同じ順序で現れるかどうかを確認します。したがって、array1 = prefix + array2 + suffix の場合に限り、この関数は 1 を返します。

例えば:

  • select array_contains_seq([1,2,3,4], [1,2,3]); は 1 を返します。
  • select array_contains_seq([1,2,3,4], [4,3]); は 0 を返します。

この関数は v3.3 以降でサポートされています。

構文

BOOLEAN array_contains_seq(arr1, arr2)

パラメータ

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

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

戻り値

BOOLEAN 型の値を返します。

  • arr2arr1 の部分集合であり、arr2 の要素が arr1 の要素と同じ順序である場合、1 が返されます。それ以外の場合は 0 が返されます。
  • 空の配列は任意の配列の部分集合です。したがって、arr2 が空で arr1 が有効な配列である場合、1 が返されます。
  • 任意の入力配列が NULL の場合、NULL が返されます。
  • 配列内の NULL は通常の値として処理されます。例えば、SELECT array_contains_seq([1, 2, NULL, 3, 4], [2,3]) は 0 を返しますが、SELECT array_contains_seq([1, 2, NULL, 3, 4], [2,NULL,3]) は 1 を返します。

MySQL > select array_contains_seq([1,2,3,4], [1,2,3]); +---------------------------------------------+ | array_contains_seq([1, 2, 3, 4], [1, 2, 3]) | +---------------------------------------------+ | 1 | +---------------------------------------------+

MySQL > select array_contains_seq([1,2,3,4], [3,2]); +------------------------------------------+ | array_contains_seq([1, 2, 3, 4], [3, 2]) | +------------------------------------------+ | 0 | +------------------------------------------+

MySQL > select array_contains_seq([1, 2, NULL, 3, 4], ['a']); +-----------------------------------------------+ | array_contains_all([1, 2, NULL, 3, 4], ['a']) | +-----------------------------------------------+ | 0 | +-----------------------------------------------+

MySQL > select array_contains_seq([1,2,3,4,null], null); +------------------------------------------+ | array_contains([1, 2, 3, 4, NULL], NULL) | +------------------------------------------+ | NULL | +------------------------------------------+

MySQL > select array_contains_seq([1,2,3,4], []); +--------------------------------------+ | array_contains_seq([1, 2, 3, 4], []) | +--------------------------------------+ | 1 | +--------------------------------------+