plpgsql 數組相關
阿新 • • 發佈:2017-08-19
fun sql beginning order split this repr multiple using
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 |
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 數組相關