11th October 2018: PostgreSQL 11 RC 1 Released!
Supported Versions: Current (10) / 9.6 / 9.5 / 9.4 / 9.3
Development Versions: 11 / devel
Unsupported versions: 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4

# 9.14. Array Functions and Operators

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

Table 9-35. array Operators

Operator Description Example Result
= equal ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3] t
<> not equal ARRAY[1,2,3] <> ARRAY[1,2,4] t
< less than ARRAY[1,2,3] < ARRAY[1,2,4] t
> greater than ARRAY[1,4,3] > ARRAY[1,2,4] t
<= less than or equal ARRAY[1,2,3] <= ARRAY[1,2,3] t
>= greater than or equal ARRAY[1,4,3] >= ARRAY[1,4,3] t
|| array-to-array concatenation ARRAY[1,2,3] || ARRAY[4,5,6] {1,2,3,4,5,6}
|| array-to-array concatenation ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9]] {{1,2,3},{4,5,6},{7,8,9}}
|| element-to-array concatenation 3 || ARRAY[4,5,6] {3,4,5,6}
|| array-to-element concatenation ARRAY[4,5,6] || 7 {4,5,6,7}

See Section 8.10 for more details about array operator behavior.

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

Table 9-36. array Functions

Function Return Type Description Example Result
`array_cat` (anyarray, anyarray) anyarray concatenate two arrays 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 array_append(ARRAY[1,2], 3) {1,2,3}
`array_prepend` (anyelement, anyarray) anyarray append an element to the beginning of an array array_prepend(1, ARRAY[2,3]) {1,2,3}
`array_dims` (anyarray) text returns a text representation of array's dimensions array_dims(ARRAY[[1,2,3], [4,5,6]]) [1:2][1:3]
`array_lower` (anyarray, int) int returns lower bound of the requested array dimension array_lower(array_prepend(0, ARRAY[1,2,3]), 1) 0
`array_upper` (anyarray, int) int returns upper bound of the requested array dimension array_upper(ARRAY[1,2,3,4], 1) 4
`array_to_string` (anyarray, text) text concatenates array elements using provided delimiter array_to_string(ARRAY[1, 2, 3], '~^~') 1~^~2~^~3
`string_to_array` (text, text) text[] splits string into array elements using provided delimiter string_to_array('xx~^~yy~^~zz', '~^~') {xx,yy,zz}