plpgsql 数组相关
Posted 物来顺心,事去宁心!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了plpgsql 数组相关相关的知识,希望对你有一定的参考价值。
Function | Return Type | Description | Example | Result |
---|---|---|---|---|
array_append (anyarray,anyelement) |
anyarray | append an element to the end of an array | array_append(ARRAY[1,2], 3) | {1,2,3} |
array_cat (anyarray,anyarray) |
anyarray | concatenate two arrays | array_cat(ARRAY[1,2,3], ARRAY[4,5]) | {1,2,3,4,5} |
array_ndims (anyarray) |
int | returns the number of dimensions of the array | array_ndims(ARRAY[[1,2,3], [4,5,6]]) | 2 |
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_fill (anyelement,int[], [, int[]]) |
anyarray | returns an array initialized with supplied value and dimensions, optionally with lower bounds other than 1 | array_fill(7, ARRAY[3], ARRAY[2]) | [2:4]={7,7,7} |
array_length (anyarray,int) |
int | returns the length of the requested array dimension | array_length(array[1,2,3], 1) | 3 |
array_lower (anyarray,int) |
int | returns lower bound of the requested array dimension | array_lower(‘[0:2]={1,2,3}‘::int[], 1) | 0 |
array_position (anyarray,anyelement [, int]) |
int | returns the subscript of the first occurrence of the second argument in the array, starting at the element indicated by the third argument or at the first element (array must be one-dimensional) | array_position(ARRAY[‘sun‘,‘mon‘,‘tue‘,‘wed‘,‘thu‘,‘fri‘,‘sat‘], ‘mon‘) | 2 |
array_positions (anyarray,anyelement) |
int[] | returns an array of subscripts of all occurrences of the second argument in the array given as first argument (array must be one-dimensional) | array_positions(ARRAY[‘A‘,‘A‘,‘B‘,‘A‘], ‘A‘) | {1,2,4} |
array_prepend (anyelement,anyarray) |
anyarray | append an element to the beginning of an array | array_prepend(1, ARRAY[2,3]) | {1,2,3} |
array_remove (anyarray,anyelement) |
anyarray | remove all elements equal to the given value from the array (array must be one-dimensional) | array_remove(ARRAY[1,2,3,2], 2) | {1,3} |
array_replace (anyarray,anyelement, anyelement) |
anyarray | replace each array element equal to the given value with a new value | array_replace(ARRAY[1,2,5,4], 5, 3) | {1,2,3,4} |
array_to_string (anyarray,text [, text]) |
text | concatenates array elements using supplied delimiter and optional null string | array_to_string(ARRAY[1, 2, 3, NULL, 5], ‘,‘, ‘*‘) | 1,2,3,*,5 |
array_upper (anyarray,int) |
int | returns upper bound of the requested array dimension | array_upper(ARRAY[1,8,3,7], 1) | 4 |
cardinality (anyarray) |
int | returns the total number of elements in the array, or 0 if the array is empty | cardinality(ARRAY[[1,2],[3,4]]) | 4 |
string_to_array (text,text [, text]) |
text[] | splits string into array elements using supplied delimiter and optional null string | string_to_array(‘xx~^~yy~^~zz‘, ‘~^~‘, ‘yy‘) | {xx,NULL,zz} |
unnest (anyarray) |
setof anyelement | expand an array to a set of rows | unnest(ARRAY[1,2]) |
1 2(2 rows) |
unnest (anyarray, anyarray[, ...]) |
setof anyelement, anyelement [, ...] | expand multiple arrays (possibly of different types) to a set of rows. This is only allowed in the FROM clause; see Section 7.2.1.4 | unnest(ARRAY[1,2],ARRAY[‘foo‘,‘bar‘,‘baz‘]) |
1 foo 2 bar NULL baz(3 rows) |
以上是关于plpgsql 数组相关的主要内容,如果未能解决你的问题,请参考以下文章
将数组从 node-postgres 传递给 plpgsql 函数