|
array_append ( anycompatiblearray, anycompatible ) → anycompatiblearray
向一个数组的末端追加一个元素 (等同于 anycompatiblearray || anycompatible 操作符)。
array_append(ARRAY[1,2], 3) → {1,2,3}
|
|
array_cat ( anycompatiblearray, anycompatiblearray ) → anycompatiblearray
连接两个数组(等同于 anycompatiblearray || anycompatiblearray 操作符)。
array_cat(ARRAY[1,2,3], ARRAY[4,5]) → {1,2,3,4,5}
|
|
array_dims ( anyarray ) → text
返回数组维度的文本表示形式。
array_dims(ARRAY[[1,2,3], [4,5,6]]) → [1:2][1:3]
|
|
array_fill ( anyelement, integer[] [, integer[] ] ) → anyarray
返回一个包含给定值的拷贝的数组,其维数与第二个参数指定的长度相同。 可选的第三个参数提供每个维度的下界值(默认为全部为 1)。
array_fill(11, ARRAY[2,3]) → {{11,11,11},{11,11,11}}
array_fill(7, ARRAY[3], ARRAY[2]) → [2:4]={7,7,7}
|
|
array_length ( anyarray, integer ) → integer
返回请求的数组维度的长度。 (对于空或缺失的数组维度,返回NULL而不是0。)
array_length(array[1,2,3], 1) → 3
array_length(array[]::int[], 1) → NULL
array_length(array['text'], 2) → NULL
|
|
array_lower ( anyarray, integer ) → integer
返回请求的数组维度的下界。
array_lower('[0:2]={1,2,3}'::integer[], 1) → 0
|
|
array_ndims ( anyarray ) → integer
返回数组的维度数。
array_ndims(ARRAY[[1,2,3], [4,5,6]]) → 2
|
|
array_position ( anycompatiblearray, anycompatible [, integer ] ) → integer
返回阵列中第二个参数中第一次发生的下标,如果它不存在,则返回NULL。 如果给出了第三个参数,则搜索从该下标开始。数组必须是一维的。比较是使用IS NOT DISTINCT FROM语义进行的,所以可以搜索NULL。
array_position(ARRAY['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'], 'mon') → 2
|
|
array_positions ( anycompatiblearray, anycompatible ) → integer[]
返回作为第一个参数的数组中第二个参数所有出现的下标的数组。 数组必须是一维的。使用IS NOT DISTINCT FROM语义完成比较,所以可以搜索NULL。 只有当数组为NULL时才返回NULL;如果在数组中没有找到该值,则返回空数组。
array_positions(ARRAY['A','A','B','A'], 'A') → {1,2,4}
|
|
array_prepend ( anycompatible, anycompatiblearray ) → anycompatiblearray
在数组的开头添加一个元素(等同于anycompatible || anycompatiblearray操作符)。
array_prepend(1, ARRAY[2,3]) → {1,2,3}
|
|
array_remove ( anycompatiblearray, anycompatible ) → anycompatiblearray
从数组中移除与给定值相等的所有元素。数组必须是一维的。使用IS NOT DISTINCT FROM语义完成比较,所以可以删除NULL。
array_remove(ARRAY[1,2,3,2], 2) → {1,3}
|
|
array_replace ( anycompatiblearray, anycompatible, anycompatible ) → anycompatiblearray
将等于第二个参数的每个数组元素替换为第三个参数。
array_replace(ARRAY[1,2,5,4], 5, 3) → {1,2,3,4}
|
|
array_reverse ( anyarray ) → anyarray
反转数组的第一维。
array_reverse(ARRAY[[1,2],[3,4],[5,6]]) → {{5,6},{3,4},{1,2}}
|
|
array_sample ( array anyarray, n integer ) → anyarray
从array中随机选取n个项并返回一个数组。n不能超过array第一维的长度。如果array是多维数组,则一个“项”是具有给定第一维下标的一个切片。
array_sample(ARRAY[1,2,3,4,5,6], 3) → {2,6,1}
array_sample(ARRAY[[1,2],[3,4],[5,6]], 2) → {{5,6},{1,2}}
|
|
array_shuffle ( anyarray ) → anyarray
随机打乱数组的第一维。
array_shuffle(ARRAY[[1,2],[3,4],[5,6]]) → {{5,6},{1,2},{3,4}}
|
|
array_sort ( array anyarray [, descending boolean [, nulls_first boolean ]] ) → anyarray
对数组的第一维进行排序。排序顺序由数组元素类型的默认排序规则决定;不过,如果元素类型支持排序规则,也可以通过给array参数添加COLLATE子句来指定要使用的排序规则。
如果descending为 true,则按降序排序,否则按升序排序。省略时默认按升序排序。如果nulls_first为 true,则空值出现在非空值之前,否则空值出现在非空值之后。省略时,nulls_first取与descending相同的值。
array_sort(ARRAY[[2,4],[2,1],[6,5]]) → {{2,1},{2,4},{6,5}}
|
|
array_to_string ( array anyarray, delimiter text [, null_string text ] ) → text
将每个数组元素转换为其文本表示,并将它们用delimiter字符串分隔连接起来。 如果提供了null_string且不是NULL,则NULL数组条目将用该字符串表示;否则将被省略。 另请参见string_to_array。
array_to_string(ARRAY[1, 2, 3, NULL, 5], ',', '*') → 1,2,3,*,5
|
|
array_upper ( anyarray, integer ) → integer
返回请求的数组维度的上界。
array_upper(ARRAY[1,8,3,7], 1) → 4
|
|
cardinality ( anyarray ) → integer
返回数组中元素的总数,如果数组为空则返回0。
cardinality(ARRAY[[1,2],[3,4]]) → 4
|
|
trim_array ( array anyarray, n integer ) → anyarray
通过删除最后的n元素来裁剪数组。 如果数组是多维的,则只裁剪第一个维度。
trim_array(ARRAY[1,2,3,4,5,6], 2) → {1,2,3,4}
|
|
unnest ( anyarray ) → setof anyelement
将数组展开到一组行。 数组的元素按存储顺序读出。
unnest(ARRAY[1,2]) →
1
2
unnest(ARRAY[['foo','bar'],['baz','quux']]) →
foo
bar
baz
quux
|
|
unnest ( anyarray, anyarray [, ... ] ) → setof anyelement, anyelement [, ... ]
将多个数组(可能是不同的数据类型)展开到一组行中。 如果数组的长度不完全相同,那么较短的数组将用NULL填充。 这种形式只在查询的FROM子句中允许;参见Section 7.2.1.4。
select * from unnest(ARRAY[1,2], ARRAY['foo','bar','baz']) as x(a,b) →
a | b
---+-----
1 | foo
2 | bar
| baz
|