|
array_append ( anyarray, anyelement ) → anyarray
向一个数组的末端追加一个元素 (等同于 anyarray || anyelement 操作符)。
array_append(ARRAY[1,2], 3) → {1,2,3}
|
|
array_cat ( anyarray, anyarray ) → anyarray
连接两个数组(等同于 anyarray || anyarray 操作符)。
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 ( anyarray, anyelement [, integer ] ) → integer
返回阵列中第二个参数中第一次发生的下标,如果它不存在,则返回NULL。 如果给出了第三个参数,则搜索从该下标开始。数组必须是一维的。比较是使用IS NOT DISTINCT FROM语义进行的,所以可以搜索NULL。
array_position(ARRAY['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'], 'mon') → 2
|
|
array_positions ( anyarray, anyelement ) → integer[]
返回作为第一个参数的数组中第二个参数所有出现的下标的数组。 数组必须是一维的。使用IS NOT DISTINCT FROM语义完成比较,所以可以搜索NULL。 只有当数组为NULL时才返回NULL;如果在数组中没有找到该值,则返回空数组。
array_positions(ARRAY['A','A','B','A'], 'A') → {1,2,4}
|
|
array_prepend ( anyelement, anyarray ) → anyarray
在数组的开头添加一个元素(等同于anyelement || anyarray操作符)。
array_prepend(1, ARRAY[2,3]) → {1,2,3}
|
|
array_remove ( anyarray, anyelement ) → anyarray
从数组中移除与给定值相等的所有元素。数组必须是一维的。使用IS NOT DISTINCT FROM语义完成比较,所以可以删除NULL。
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 ( array anyarray, delimiter text [, null_string text ] ) → text
将每个数组元素转换为其文本表示,并将它们用delimiter字符串分隔连接起来。 如果提供了null_string且不是NULL,则NULL数组条目将用该字符串表示;否则将被省略。
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
|
|
string_to_array ( string text, delimiter text [, null_string text ] ) → text[]
在 delimiter 出现的位置拆分 string,并将剩余数据组成 text 数组。如果 delimiter 为 NULL,string 中的每个字符都会成为数组中的独立元素。如果 delimiter 是空字符串,则将 string 视为单个字段。如果提供了 null_string 且不为 NULL,则将与该字符串匹配的字段转换为 NULL 条目。
string_to_array('xx~~yy~~zz', '~~', 'yy') → {xx,NULL,zz}
|
|
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
|