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

# Array functions

> Build, inspect, transform and flatten arrays.

Build, inspect, transform and flatten arrays.

| Function | Type | What it does |
| - | - | - |
| [`aggregate`](https://docs.e6data.com/query/sql/functions/array/aggregate) | Scalar | Combines array elements into a running value, with an optional final transformation. |
| [`array`](https://docs.e6data.com/query/sql/functions/array/array) | Scalar | Constructs an array from expressions. |
| [`array_append`](https://docs.e6data.com/query/sql/functions/array/array_append) | Scalar | Adds an element to the end of an array. |
| [`array_compact`](https://docs.e6data.com/query/sql/functions/array/array_compact) | Scalar | Removes NULL elements from an array. |
| [`array_concat`](https://docs.e6data.com/query/sql/functions/array/array_concat) | Scalar | Concatenates arrays in argument order. |
| [`array_contains`](https://docs.e6data.com/query/sql/functions/array/array_contains) | Scalar | Returns TRUE when the array contains the search value. |
| [`array_distinct`](https://docs.e6data.com/query/sql/functions/array/array_distinct) | Scalar | Removes duplicate elements, keeping their first occurrence. |
| [`array_intersect`](https://docs.e6data.com/query/sql/functions/array/array_intersect) | Scalar | Returns distinct elements that occur in both arrays. |
| [`array_intersection`](https://docs.e6data.com/query/sql/functions/array/array_intersection) | Scalar | Returns distinct elements that occur in both arrays. |
| [`array_join`](https://docs.e6data.com/query/sql/functions/array/array_join) | Scalar | Joins array elements as text. |
| [`array_max`](https://docs.e6data.com/query/sql/functions/array/array_max) | Scalar | Returns the largest non-NULL element of an array. |
| [`array_min`](https://docs.e6data.com/query/sql/functions/array/array_min) | Scalar | Returns the smallest non-NULL element of an array. |
| [`array_position`](https://docs.e6data.com/query/sql/functions/array/array_position) | Scalar | Returns the first 1-based position of an element in an array. |
| [`array_prepend`](https://docs.e6data.com/query/sql/functions/array/array_prepend) | Scalar | Adds an element to the start of an array. |
| [`array_size`](https://docs.e6data.com/query/sql/functions/array/array_size) | Scalar | Counts the elements in an array. |
| [`array_slice`](https://docs.e6data.com/query/sql/functions/array/array_slice) | Scalar | Returns an inclusive slice using 1-based bounds. |
| [`array_sort`](https://docs.e6data.com/query/sql/functions/array/array_sort) | Scalar | Sorts an array naturally or with a comparator lambda. |
| [`array_to_string`](https://docs.e6data.com/query/sql/functions/array/array_to_string) | Scalar | Joins array elements as text. |
| [`arrays_overlap`](https://docs.e6data.com/query/sql/functions/array/arrays_overlap) | Scalar | Tests whether arrays share an element. |
| [`cardinality`](https://docs.e6data.com/query/sql/functions/array/cardinality) | Scalar | Counts the elements in an array or entries in a map. |
| [`element_at`](https://docs.e6data.com/query/sql/functions/array/element_at) | Scalar | Returns an array element by position or a map value by key. |
| [`filter`](https://docs.e6data.com/query/sql/functions/array/filter) | Scalar | Keeps array elements whose lambda returns TRUE. |
| [`filter_array`](https://docs.e6data.com/query/sql/functions/array/filter_array) | Scalar | Keeps array elements whose lambda returns TRUE. |
| [`flatten`](https://docs.e6data.com/query/sql/functions/array/flatten) | Scalar · Table | Flattens one array nesting level in Databricks scalar context, or expands a collection as a table in Snowflake-style context. |
| [`get`](https://docs.e6data.com/query/sql/functions/array/get) | Scalar | Returns the element at a zero-based array index. |
| [`reduce`](https://docs.e6data.com/query/sql/functions/array/reduce) | Scalar | Combines array elements into a running value, with an optional final transformation. |
| [`sequence`](https://docs.e6data.com/query/sql/functions/array/sequence) | Scalar | Builds an inclusive integer, date or timestamp sequence. |
| [`size`](https://docs.e6data.com/query/sql/functions/array/size) | Scalar | Counts the elements in an array or entries in a map. |
| [`slice`](https://docs.e6data.com/query/sql/functions/array/slice) | Scalar | Returns an inclusive slice using 1-based bounds. |
| [`sort_array`](https://docs.e6data.com/query/sql/functions/array/sort_array) | Scalar | Sorts array elements. |
| [`subscript`](https://docs.e6data.com/query/sql/functions/array/subscript) | Being confirmed | Previous docs; being confirmed. |
| [`transform`](https://docs.e6data.com/query/sql/functions/array/transform) | Scalar | Applies a lambda to array elements. |
| [`try_element_at`](https://docs.e6data.com/query/sql/functions/array/try_element_at) | Scalar | Returns an array element by position or a map value by key. |
| [`unnest`](https://docs.e6data.com/query/sql/functions/array/unnest) | Being confirmed | Previous docs; being confirmed. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.