- Returns
TRUE if all elements in the array are TRUE or if the array is empty.
- Returns
FALSE if any element in the array is FALSE.
- Returns
NULL if any element is NULL and no element is FALSE.
When an optional lambda function is provided, ARRAY_ALL_MATCH applies the function to each element and then evaluates the resulting array.
Alias: ALL_MATCH
Syntax
{ ALL_MATCH | ARRAY_ALL_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 Type
The ARRAY_ALL_MATCH function returns a result of type BOOLEAN.
Examples
Check if all player nicknames end with '2024':
SELECT ARRAY_ALL_MATCH(name -> name like '%2024', [ 'kennethpark2024', 'sabrina2024', 'steven2024']) AS result;
Rows: 1Execution time: 5.97ms
Check if all elements in the first array can be divided by the elements in the second array:
SELECT ARRAY_ALL_MATCH(x, y -> (x % y) = 0, [ 10, 20, 30, 45 ], [ 5, 10, 2, 15]) AS divisible;
Rows: 1Execution time: 5.71ms
Check if all elements in an input array are true:
SELECT ARRAY_ALL_MATCH([]) AS empty, ARRAY_ALL_MATCH([true]) AS single_true, ARRAY_ALL_MATCH([false]) AS single_false, ARRAY_ALL_MATCH([NULL]) AS single_null, ARRAY_ALL_MATCH([false, NULL]) AS false_and_null;
| empty boolean | single_true boolean | single_false boolean | single_null boolean null | false_and_null boolean null |
|---|
| True | True | False | NULL | False |
Rows: 1Execution time: 6.37ms