1. 程式人生 > >plpgsql 數組相關

plpgsql 數組相關

fun sql beginning order split this repr multiple using

FunctionReturn TypeDescriptionExampleResult
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 數組相關