↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 函数百科 / 数组函数和操作符

FUNCTION数组函数和操作符

array_replace

将等于第二个参数的每个数组元素替换为第三个参数。

Replaces each array element equal to the second argument with the third argument.

数组函数和操作符 引入 9.3 现存至 20 devel 1 条签名 1 次签名变更

签名数
1 条
引入版本
9.3
状态
现存
签名变更
1 次
本版来源
同版手册译文

PostgreSQL 18.7 手册 · 9.19 数组函数和操作符 官方文档

版本轨迹

相对 PostgreSQL 17 无变化。

说明

将等于第二个参数的每个数组元素替换为第三个参数。
array_replace ( anycompatiblearray, anycompatible, anycompatible ) → anycompatiblearray
将等于第二个参数的每个数组元素替换为第三个参数。

签名

PostgreSQL 18.7 里 array_replace 的 1 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。

  1. array_replace ( anycompatiblearray, anycompatible, anycompatible ) → anycompatiblearray

    将等于第二个参数的每个数组元素替换为第三个参数。
    • array_replace(ARRAY[1,2,5,4], 5, 3){1,2,3,4}

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。

  1. PostgreSQL 14 ← 13 签名变更

    array_replace ( anycompatiblearray, anycompatible, anycompatible ) → anycompatiblearray array_replace ( anyarray, anyelement, anyelement ) → anyarray

  2. PostgreSQL 13 ← 12 手册重排

    这一跳手册重排了函数表的写法,签名文本整体改写,只记函数的增删,不逐条比较签名。

  3. PostgreSQL 9.3 ← 9.2 新增此函数

    PostgreSQL 9.3 起可用

签名矩阵

每条签名在给出了签名的 15 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。

存在 不存在

签名 9.39.49.59.61011121314151617181920
array_replace ( anyarray, anyelement, anyelement ) → anyarray 存在 存在 存在 存在 存在 存在 存在 存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在
array_replace ( anycompatiblearray, anycompatible, anycompatible ) → anycompatiblearray 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 存在 存在 存在 存在 存在 存在 存在

同组函数

函数 签名 主签名 版本变动 最近变更
ARRAY FUNCTIONS AND OPERATORS 数组函数和操作符 20 个 ↗
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 个元素来裁剪数组。如果数组是多维的,则只裁剪第一个维度。 现存