docs/en/sql-reference/sql-functions/array-functions/any_match.md
Returns whether any elements of an array match the given predicate.
Returns true (1) if one or more elements match the predicate.
Returns false (0) if none of the elements matches (a special case is when the array is empty).
Returns NULL if the predicate returns NULL for one or more elements and false for all other elements.
This function is supported from v3.0.6 onwards.
any_match(lambda_function, arr1, arr2...)
Returns whether any elements of arr1 match the given predicate in the lambda function.
arr1: the array to match.
arrN: optional arrays used in the lambda function.
lambda_function: the lambda function used to match values.
Returns a BOOLEAN value.
arr1 is empty, false is returned.any_match((k,v)->k>v,map) to any_match(map_values(transform_values((k,v)->k>v, map))). For example, select any_match(map_values(transform_values((k,v)->k>v, map{2:1}))); returns 1.Check whether any element in x is less than the elements in y.
select any_match((x,y) -> x < y, [1,2,8], [4,5,6]);
+--------------------------------------------------+
| any_match((x, y) -> x < y, [1, 2, 8], [4, 5, 6]) |
+--------------------------------------------------+
| 1 |
+--------------------------------------------------+
select any_match((x,y) -> x < y, [11,12,8], [4,5,6]);
+----------------------------------------------------+
| any_match((x, y) -> x < y, [11, 12, 8], [4, 5, 6]) |
+----------------------------------------------------+
| 0 |
+----------------------------------------------------+
select any_match((x,y) -> x < y, [11,12,null], [4,5,6]);
+-------------------------------------------------------+
| any_match((x, y) -> x < y, [11, 12, NULL], [4, 5, 6]) |
+-------------------------------------------------------+
| NULL |
+-------------------------------------------------------+
select any_match((x,y) -> x < y, [], []);
+------------------------------------+
| any_match((x, y) -> x < y, [], []) |
+------------------------------------+
| 0 |
+------------------------------------+
select any_match((x,y) -> x < y, null, [4,5,6]);
+---------------------------------------------+
| any_match((x, y) -> x < y, NULL, [4, 5, 6]) |
+---------------------------------------------+
| NULL |
+---------------------------------------------+