> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firebolt.io/llms.txt
> Use this file to discover all available pages before exploring further.

> Reference material for ARRAY_ALL_MATCH function

# ARRAY_ALL_MATCH

* 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

```sql theme={"theme":{"light":"css-variables","dark":"css-variables"}}
{ 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](/guides/sql-dialect/arrays#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](/reference-sql/lexical-structure/operators#comparison). |
| `<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'`:

<div className="query-window">
  ```
  SELECT ARRAY_ALL_MATCH(name -> name like '%2024', [ 'kennethpark2024', 'sabrina2024', 'steven2024']) AS result;
  ```

  | result <span>boolean</span> |
  | :-------------------------- |
  | True                        |

  <p><span>Rows: 1</span><span>Execution time: 5.97ms</span></p>
</div>

Check if all elements in the first array can be divided by the elements in the second array:

<div className="query-window">
  ```
  SELECT ARRAY_ALL_MATCH(x, y -> (x % y) = 0, [ 10, 20, 30, 45 ], [ 5, 10, 2, 15]) AS divisible;
  ```

  | divisible <span>boolean</span> |
  | :----------------------------- |
  | True                           |

  <p><span>Rows: 1</span><span>Execution time: 5.71ms</span></p>
</div>

Check if all elements in an input array are `true`:

<div className="query-window">
  ```
  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 <span>boolean</span> | single\_true <span>boolean</span> | single\_false <span>boolean</span> | single\_null <span>boolean null</span> | false\_and\_null <span>boolean null</span> |
  | :------------------------- | :-------------------------------- | :--------------------------------- | :------------------------------------- | :----------------------------------------- |
  | True                       | True                              | False                              | NULL                                   | False                                      |

  <p><span>Rows: 1</span><span>Execution time: 6.37ms</span></p>
</div>
