# 9.14. Array Functions and Operators

Table 9-41 shows the operators available for array types.

Table 9-41. array Operators

OperatorDescriptionExampleResult
= equalARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3]t
<> not equalARRAY[1,2,3] <> ARRAY[1,2,4]t
< less thanARRAY[1,2,3] < ARRAY[1,2,4]t
> greater thanARRAY[1,4,3] > ARRAY[1,2,4]t
<= less than or equalARRAY[1,2,3] <= ARRAY[1,2,3]t
>= greater than or equalARRAY[1,4,3] >= ARRAY[1,4,3]t
|| array-to-array concatenationARRAY[1,2,3] || ARRAY[4,5,6]{1,2,3,4,5,6}
|| array-to-array concatenationARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9]]{{1,2,3},{4,5,6},{7,8,9}}
|| element-to-array concatenation3 || ARRAY[4,5,6]{3,4,5,6}
|| array-to-element concatenationARRAY[4,5,6] || 7{4,5,6,7}

See Section 8.10 for more details about array operator behavior.

Table 9-42 shows the functions available for use with array types. See Section 8.10 for more discussion and examples for the use of these functions.

Table 9-42. array Functions

FunctionReturn TypeDescriptionExampleResult
`array_cat` (anyarray, anyarray) anyarray concatenate two arrays, returning NULL for NULL inputs array_cat(ARRAY[1,2,3], ARRAY[4,5]){1,2,3,4,5}
`array_append` (anyarray, anyelement) anyarray append an element to the end of an array, returning NULL for NULL inputs array_append(ARRAY[1,2], 3){1,2,3}
`array_prepend` (anyelement, anyarray) anyarray append an element to the beginning of an array, returning NULL for NULL inputs array_prepend(1, ARRAY[2,3]){1,2,3}
`array_dims` (anyarray) text returns a text representation of array dimension lower and upper bounds, generating an ERROR for NULL inputs array_dims(array[[1,2,3], [4,5,6]])[1:2][1:3]
`array_lower` (anyarray, integer) integer returns lower bound of the requested array dimension, returning NULL for NULL inputs array_lower(array_prepend(0, ARRAY[1,2,3]), 1)0
`array_upper` (anyarray, integer) integer returns upper bound of the requested array dimension, returning NULL for NULL inputs array_upper(ARRAY[1,2,3,4], 1)4
`array_to_string` (anyarray, text) text concatenates array elements using provided delimiter, returning NULL for NULL inputs array_to_string(array[1, 2, 3], '~^~')1~^~2~^~3
`string_to_array` (text, text) text[] splits string into array elements using provided delimiter, returning NULL for NULL inputs string_to_array( 'xx~^~yy~^~zz', '~^~'){xx,yy,zz}