FUNCTION数组函数和操作符
array_cat
连接两个数组(等同于 anycompatiblearray || anycompatiblearray 操作符)。
Concatenates two arrays (same as the anycompatiblearray || anycompatiblearray operator).
数组函数和操作符 引入 7.4 现存至 20 devel 1 条签名 1 次签名变更
- 分组
- 数组函数和操作符
- 签名数
- 1 条
- 引入版本
- 7.4
- 状态
- 现存
- 签名变更
- 1 次
- 本版来源
- 同版手册译文
版本轨迹
相对 PostgreSQL 17 无变化。
说明
anycompatiblearray || anycompatiblearray 操作符)。array_cat ( anycompatiblearray, anycompatiblearray ) → anycompatiblearray连接两个数组(等同于
anycompatiblearray || anycompatiblearray 操作符)。签名
PostgreSQL 18.7 里 array_cat 的 1 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。
-
array_cat(anycompatiblearray,anycompatiblearray) →anycompatiblearray连接两个数组(等同于anycompatiblearray||anycompatiblearray操作符)。array_cat(ARRAY[1,2,3], ARRAY[4,5]){1,2,3,4,5}
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。
-
PostgreSQL 14 ← 13 签名变更
array_cat ( anycompatiblearray, anycompatiblearray ) → anycompatiblearrayarray_cat ( anyarray, anyarray ) → anyarray说明更新 -
PostgreSQL 13 ← 12 手册重排
这一跳手册重排了函数表的写法,签名文本整体改写,只记函数的增删,不逐条比较签名。
-
PostgreSQL 8.0 ← 7.4 说明更新
说明更新
-
PostgreSQL 7.4 ← 7.3 新增此函数
PostgreSQL 7.4 起可用
签名矩阵
每条签名在给出了签名的 24 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。
存在 不存在
| 签名 | 7.4 | 8.0 | 8.1 | 8.2 | 8.3 | 8.4 | 9.0 | 9.1 | 9.2 | 9.3 | 9.4 | 9.5 | 9.6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
array_cat ( anyarray, anyarray ) → anyarray |
存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 |
array_cat ( anycompatiblearray, anycompatiblearray ) → anycompatiblearray |
不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 |
同组函数
| 函数 | 签名 | 主签名 | 版本变动 | 最近变更 |
|---|---|---|---|---|
array_append |
1 | array_append ( anycompatiblearray, anycompatible ) → anycompatiblearray |
141 次 | |
| 向一个数组的末端追加一个元素(等同于 anycompatiblearray || anycompatible 操作符)。 | 现存 | |||
array_cat |
1 | array_cat ( anycompatiblearray, anycompatiblearray ) → anycompatiblearray |
141 次 | |
| 连接两个数组(等同于 anycompatiblearray || anycompatiblearray 操作符)。 | 现存 | |||
array_dims |
1 | array_dims ( anyarray ) → text |
— | |
| 返回数组维度的文本表示形式。 | 现存 | |||
array_fill |
1 | array_fill ( anyelement, integer[] [, integer[] ] ) → anyarray |
9.31 次 | |
| 返回用给定值的副本填充的数组,各维的长度由第二个参数指定。可选的第三个参数提供各维的下界值(默认均为 1)。 | 现存 | |||
array_length |
1 | array_length ( anyarray, integer ) → integer |
— | |
| 返回请求的数组维度的长度。(对于空或缺失的数组维度,返回 NULL 而不是 0。) | 现存 | |||
array_lower |
1 | array_lower ( anyarray, integer ) → integer |
8.11 次 | |
| 返回请求的数组维度的下界。 | 现存 | |||
array_ndims |
1 | array_ndims ( anyarray ) → integer |
— | |
| 返回数组的维度数。 | 现存 | |||
array_position |
1 | array_position ( anycompatiblearray, anycompatible [, integer ] ) → integer |
141 次 | |
| 返回第二个参数在数组中首次出现的下标;若不存在,则返回 NULL。如果给出了第三个参数,则搜索从该下标开始。数组必须是一维的。比较是使用 IS NOT DISTINCT FROM 语义进行的,所以可以搜索 NULL。 | 现存 | |||
array_positions |
1 | array_positions ( anycompatiblearray, anycompatible ) → integer[] |
141 次 | |
| 返回第二个参数在第一个参数所给数组中所有出现位置的下标数组。数组必须是一维的。使用 IS NOT DISTINCT FROM 语义完成比较,所以可以搜索 NULL。只有当数组为 NULL 时才返回 NULL;如果在数组中没有找到该值,则返回空数组。 | 现存 | |||
array_prepend |
1 | array_prepend ( anycompatible, anycompatiblearray ) → anycompatiblearray |
141 次 | |
| 在数组的开头添加一个元素(等同于 anycompatible || anycompatiblearray 操作符)。 | 现存 | |||
array_remove |
1 | array_remove ( anycompatiblearray, anycompatible ) → anycompatiblearray |
141 次 | |
| 从数组中移除与给定值相等的所有元素。数组必须是一维的。使用 IS NOT DISTINCT FROM 语义完成比较,所以可以删除 NULL。 | 现存 | |||
array_replace |
1 | array_replace ( anycompatiblearray, anycompatible, anycompatible ) → anycompatiblearray |
141 次 | |
| 将等于第二个参数的每个数组元素替换为第三个参数。 | 现存 | |||
array_reverse |
1 | array_reverse ( anyarray ) → anyarray |
— | |
| 反转数组的第一维。 | 现存 | |||
array_sample |
1 | array_sample ( array anyarray, n integer ) → anyarray |
— | |
| 从 array 中随机选取 n 个项并返回一个数组。n 不能超过 array 第一维的长度。如果 array 是多维数组,则一个“项”是具有给定第一维下标的一个切片。 | 现存 | |||
array_shuffle |
1 | array_shuffle ( anyarray ) → anyarray |
— | |
| 随机打乱数组的第一维。 | 现存 | |||
array_sort |
1 | array_sort ( array anyarray [, descending boolean [, nulls_first boolean ]] ) → anyarray |
— | |
| 对数组的第一维进行排序。排序顺序由数组元素类型的默认排序顺序决定;不过,如果元素类型支持排序规则,也可以通过给 array 参数添加 COLLATE 子句来指定要使用的排序规则。 | 现存 | |||
array_to_string |
1 | array_to_string ( array anyarray, delimiter text [, null_string text ] ) → text |
9.11 次 | |
| 将每个数组元素转换为其文本表示,并将它们用 delimiter 字符串分隔连接起来。如果提供了 null_string 且不是 NULL,则 NULL 数组条目将用该字符串表示;否则将被省略。另请参见 string_to_array。 | 现存 | |||
array_upper |
1 | array_upper ( anyarray, integer ) → integer |
8.11 次 | |
| 返回请求的数组维度的上界。 | 现存 | |||
cardinality |
1 | cardinality ( anyarray ) → integer |
— | |
| 返回数组中元素的总数,如果数组为空则返回 0。 | 现存 | |||
trim_array |
1 | trim_array ( array anyarray, n integer ) → anyarray |
— | |
| 通过删除最后的 n 个元素来裁剪数组。如果数组是多维的,则只裁剪第一个维度。 | 现存 | |||