函数 | 返回类型 | 描述 | 例子 | 结果 |
---|---|---|---|---|
array_append(anyarray, anyelement) | anyarray | 向一个数组的末端追加一个元素 | array_append(ARRAY[1,2], 3) | {1,2,3} |
array_cat(anyarray, anyarray) | anyarray | 连接两个数组 | array_cat(ARRAY[1,2,3], ARRAY[4,5]) | {1,2,3,4,5} |
array_ndims(anyarray) | int | 返回数组的维度数 | array_ndims(ARRAY[[1,2,3], [4,5,6]]) | 2 |
array_dims(anyarray) | text | 返回数组的维度的文本表示 | array_dims(ARRAY[[1,2,3], [4,5,6]]) | [1:2][1:3] |
array_fill(anyelement, int[], [, int[]]) | anyarray | 返回一个用提供的值和维度初始化好的数组,可以选择下界不为 1 | array_fill(7, ARRAY[3], ARRAY[2]) | [2:4]={7,7,7} |
array_length(anyarray, int) | int | 返回被请求的数组维度的长度 | array_length(array[1,2,3], 1) | 3 |
array_lower(anyarray, int) | int | 返回被请求的数组维度的下界 | array_lower(’[0:2]={1,2,3}’::int[], 1) | 0 |
array_position(anyarray, anyelement [, int]) | int | 返回数组中第二个参数第一次出现的下标。 起始于第三个参数或第一个元素指示的元素位置(数组必须是一维的) | array_position(ARRAY[‘sun’,‘mon’,‘tue’,‘wed’,‘thu’,‘fri’,‘sat’], ‘mon’) | 2 |
array_positions(anyarray, anyelement) | int[] | 返回作为第一个参数的数组中第二个参数出现的数组下标(数组必须是一维的) | array_positions(ARRAY[‘A’,‘A’,‘B’,‘A’], ‘A’) | {1,2,4} |
array_prepend(anyelement, anyarray) | anyarray | 向一个数组的首部追加一个元素 | array_prepend(1, ARRAY[2,3]) | {1,2,3} |
array_remove(anyarray, anyelement) | anyarray | 从数组中移除所有等于给定值的所有元素(数组必须是一维的) | array_remove(ARRAY[1,2,3,2], 2) | {1,3} |
array_replace(anyarray, anyelement, anyelement) | anyarray | 将每一个等于给定值的数组元素替换成一个新值 | array_replace(ARRAY[1,2,5,4], 5, 3) | {1,2,3,4} |
array_to_string(anyarray, text [, text]) | text | 使用提供的定界符和可选的空串连接数组元素 | array_to_string(ARRAY[1, 2, 3, NULL, 5], ‘,’, ‘*’) | 1,2,3,*,5 |
array_upper(anyarray, int) | int | 返回被请求的数组维度的上界 | array_upper(ARRAY[1,8,3,7], 1) | 4 |
cardinality(anyarray) | int | 返回数组中元素的总数,如果数组为空则返回 0 | cardinality(ARRAY[[1,2],[3,4]]) | 4 |
string_to_array(text, text [, text]) | text[] | 使用提供的定界符和可选的空串将字符串划分成数组元素 | string_to_array(‘xx^yy^zz’, ‘^’, ‘yy’) | {xx,NULL,zz} |
unnest(anyarray) | setof anyelement | 将一个数组扩展成一组行 | unnest(ARRAY[1,2]) |
参考文献:
http://www.postgres.cn/docs/10/functions-array.html