## 9.14. Array Functions and Operators

Table 9.35, “`array` Operators” 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, “Arrays” for more details about array operator behavior.

Table 9.36, “`array` Functions” shows the functions available for use with array types. See Section 8.10, “Arrays” 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}`