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

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

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

FUNCTION数组函数和操作符

array_to_string

将每个数组元素转换为其文本表示,并将它们用 delimiter 字符串分隔连接起来。如果提供了 null_string 且不是 NULL,则 NULL 数组条目将用该字符串表示;否则将被省略。另请参见 string_to_array。

Converts each array element to its text representation, and concatenates those separated by the delimiter string.

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

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

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

版本轨迹

相对 PostgreSQL 17 无变化。

说明

将每个数组元素转换为其文本表示,并将它们用 delimiter 字符串分隔连接起来。如果提供了 null_string 且不是 NULL,则 NULL 数组条目将用该字符串表示;否则将被省略。另请参见 string_to_array。
array_to_string ( array anyarray, delimiter text [, null_string text ] ) → text
将每个数组元素转换为其文本表示,并将它们用 delimiter 字符串分隔连接起来。如果提供了 null_string 且不是 NULL,则 NULL 数组条目将用该字符串表示;否则将被省略。另请参见 string_to_array。

签名

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

  1. 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

演化历史

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

  1. PostgreSQL 15 ← 14 说明更新

    说明更新

  2. PostgreSQL 13 ← 12 手册重排

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

  3. PostgreSQL 9.1 ← 9.0 签名变更

    array_to_string ( anyarray, text [, text] ) → text array_to_string ( anyarray, text ) → text 说明更新

  4. PostgreSQL 8.4 ← 8.3 说明更新

    说明更新

  5. PostgreSQL 8.0 ← 7.4 说明更新

    说明更新

  6. PostgreSQL 7.4 ← 7.3 新增此函数

    PostgreSQL 7.4 起可用

签名矩阵

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

存在 不存在

签名 7.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
array_to_string ( anyarray, text ) → text 存在 存在 存在 存在 存在 存在 存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在
array_to_string ( anyarray, text [, text] ) → text 不存在 不存在 不存在 不存在 不存在 不存在 不存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在
array_to_string ( array anyarray, delimiter text [, null_string text ] ) → text 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 存在 存在 存在 存在 存在 存在 存在 存在

同组函数

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