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

all_match

配列のすべての要素が指定された述語に一致するかどうかを返します。

  • すべての要素が述語に一致する場合は true (1) を返します(特別なケースとして、配列が空の場合も含まれます)。

  • 1つ以上の要素が一致しない場合は false (0) を返します。

  • 述語が1つ以上の要素に対して NULL を返し、他のすべての要素に対して true を返す場合は NULL を返します。

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

構文

all_match(lambda_function, arr1, arr2...)

arr1 のすべての要素が、ラムダ関数内の指定された述語に一致するかどうかを返します。

パラメータ

  • arr1: 一致させる配列。

  • arrN: ラムダ関数で使用されるオプションの配列。

  • lambda_function: 値を一致させるために使用されるラムダ関数。

戻り値

BOOLEAN 値を返します。

使用上の注意

  • ラムダ関数は array_map() の使用上の注意に従います。
  • 入力配列が null またはラムダ関数の結果が null の場合、null が返されます。
  • arr1 が空の場合、true が返されます。
  • この関数を MAP に適用するには、all_match((k,v)->k>v,map)all_match(map_values(transform_values((k,v)->k>v, map))) に書き換えます。例えば、select all_match(map_values(transform_values((k,v)->k>v, map{2:1}))); は 1 を返します。

x のすべての要素が y の要素より小さいかどうかを確認します。

select all_match((x,y) -> x < y, [1,2,-8], [4,5,6]);
+---------------------------------------------------+
| all_match((x, y) -> x < y, [1, 2, -8], [4, 5, 6]) |
+---------------------------------------------------+
| 1 |
+---------------------------------------------------+

select all_match((x,y) -> x < y, [1,2,null], [4,5,6]);
+-----------------------------------------------------+
| all_match((x, y) -> x < y, [1, 2, NULL], [4, 5, 6]) |
+-----------------------------------------------------+
| NULL |
+-----------------------------------------------------+

select all_match((x,y) -> x < y, [1,2,8], [4,5,6]);
+--------------------------------------------------+
| all_match((x, y) -> x < y, [1, 2, 8], [4, 5, 6]) |
+--------------------------------------------------+
| 0 |
+--------------------------------------------------+

select all_match((x,y) -> x < y, [], []);
+------------------------------------+
| all_match((x, y) -> x < y, [], []) |
+------------------------------------+
| 1 |
+------------------------------------+

select all_match((x,y) -> x < y, null, [4,5,6]);
+---------------------------------------------+
| all_match((x, y) -> x < y, NULL, [4, 5, 6]) |
+---------------------------------------------+
| NULL |
+---------------------------------------------+