ARRAY_ANY_MATCH
- Returns
TRUE
if any element in the array isTRUE
. - Returns
FALSE
if all elements in the array areFALSE
or if the array is empty. - Returns
NULL
if any element isNULL
and no element isTRUE
.
When an optional lambda function is provided, ARRAY_ANY_MATCH
applies the function to each element and then evaluates the resulting arrayt.
Alias: ANY_MATCH
Syntax
{ ANY_MATCH | ARRAY_ANY_MATCH }([<expression> -> <condition>], <array> [, <array2>, ...])
Parameters
Parameter | Description | Supported input types | |
---|---|---|---|
<expression> | A lambda function applied to each element of the input arrays, returning a BOOLEAN . If no lambda function is provided, the function can only evaluate a single BOOLEAN array. For more information, see Manipulating arrays with Lambda functions. | Same as the element data types of the input arrays. | |
<condition> | A BOOLEAN expression that evaluates each array value using a comparison operator. | See Comparison operators. | |
<array> | The array to evaluate. | ARRAY |
Return Types
The ARRAY_ANY_MATCH
function returns a result of type BOOLEAN
.
Examples
Example The following code example checks if an array contains the value esimpson
as the result is_he_playing
:
SELECT ARRAY_ANY_MATCH(x -> x = 'esimpson', [ 'kennethpark', 'sabrina21', 'steven70']) AS is_he_playing;
Returns The previous code returns FALSE
because the array does not contain the specified value:
is_he_playing (BOOLEAN) |
---|
f |
Example The following code example checks if each element in the first array is divisible by the corresponding element in the second array in a result labeled divisible
:
SELECT ARRAY_ANY_MATCH(x, y -> (x % y) = 0, [ 10, 20, 30, 45 ], [ 12, 3, 42, 15]) AS divisible;
Returns The previous code returns TRUE
because each element in the first array is divisible by its corresponding element in the second array:
divisible (BOOLEAN) |
---|
t |
Example The following code example evaluates multiple arrays using ARRAY_ANY_MATCH
:
SELECT ARRAY_ANY_MATCH([]) as empty,
ARRAY_ANY_MATCH([true]) as single_true,
ARRAY_ANY_MATCH([false]) as single_false,
ARRAY_ANY_MATCH([NULL]) as single_null ,
ARRAY_ANY_MATCH([false, NULL]) as false_and_null;
Returns The previous code returns FALSE
for the empty array, TRUE
for the [TRUE]
array, FALSE
for the [FALSE]
array, NULL
for the [NULL]
array, and FALSE
for the [FALSE, NULL]
array:
empty (BOOLEAN) | single_true (BOOLEAN) | single_false (BOOLEAN) | single_null (BOOLEAN) | false_and_null (BOOLEAN) |
---|---|---|---|---|
f | t | f | NULL | NULL |