Skip to content

Array Functions ​

Array functions manipulate arrays or return information about arrays.

CARDINALITY ​

text
cardinality(array)

The number of members in the array. The null value will return 0.

ARRAY_POSITION ​

text
array_position(array, value)

Return a 0-based index of the first occurrence of val if it is found within an array. If val does not exist within the array, it returns -1.

ELEMENT_AT ​

text
element_at(array, index)

Returns element of the array at index val. If val < 0, this function accesses elements from the last to the first.

ARRAY_CONTAINS ​

text
array_contains(array, value)

Returns true if array contains the element.

ARRAY_CREATE ​

text
array_create(value1, ......)

Construct an array from literals.

ARRAY_REMOVE ​

text
array_remove(array, value)

Returns the array with all occurrences of value removed.

ARRAY_LAST_POSITION ​

text
array_last_position(array, val)

Return a 0-based index of the last occurrence of val if it is found within the array. If val does not exist within the array, it returns -1.

ARRAY_CONTAINS_ANY ​

text
array_contains_any(array1, array2)

Returns true if array1 and array2 have any elements in common.

ARRAY_INTERSECT ​

text
array_intersect(array1, array2)

Returns an intersection of the two arrays, with all duplicates removed.

ARRAY_UNION ​

text
array_union(array1, array2)

Returns a union of the two arrays, with all duplicates removed.

ARRAY_MAX ​

text
array_max(array)

Returns an element which is greater than or equal to all other elements of the array. The null element will be ignored.

ARRAY_MIN ​

text
array_min(array)

Returns an element which is less than or equal to all other elements of the array. The null element will be ignored.

ARRAY_EXCEPT ​

text
array_except(array1, array2)

Returns an array of elements that are in array1 but not in array2, without duplicates.

REPEAT ​

text
repeat(string, count)

Constructs an array of val repeated count times.

SEQUENCE ​

text
sequence(start, stop, step)

Returns an array of integers from start to stop, incrementing by step.

ARRAY_CARDINALITY ​

text
array_cardinality(array)

Return the number of elements in the array. The null value will be ignored.

ARRAY_FLATTEN ​

text
array_flatten(array)

Return a flattened array, i.e., expand the array elements in the array.

For example, if the input is [[1, 4], [2, 3]], then the output is [1, 4, 2, 3].

ARRAY_DISTINCT ​

text
array_distinct(array)

Return a distinct array, i.e., remove the duplicate elements in the array.

ARRAY_MAP ​

text
array_map(function_name, array)

Return a new array by applying a function to each element of the array.

ARRAY_JOIN ​

text
array_join(array, delimiter, null_replacement)

Return a string that concatenates all elements of the array and uses the delimiter and an optional string to replace null values.

For example, if the input is [1, 2, 3], delimiter is set to comma, then the output is "1,2,3".

ARRAY_SHUFFLE ​

text
array_shuffle(array)

Return a shuffled array, i.e., randomly shuffle the elements in the array.

ARRAY_CONCAT ​

text
array_concat(array1, array2, ...)

Returns the concatenation of the input arrays, this function does not modify the existing arrays, but returns new one.

ARRAY_SORT ​

text
array_sort(array)

Returns a sorted copy of the input array.

sql
array_sort([3, 2, "b", "a"])

Result:

sql
[2, 3, "a", "b"]