postgresql里边的数组怎么操作

2025-05-08 17:20:37
推荐回答(1个)
回答1:

1. 数组可以作为字段类型

PostgreSQL中数据是一种基本的数据类型,可以作为字段的类型定义。例如,

CREATE TABLE ads.tb_mo_item
(
  mo_key integer NOT NULL,
 input_flow integer[] NOT NULL DEFAULT ARRAY[]::integer[] 
);

2. 可以用array[]来初始化一个数组

select array[1, 3, 4]::int[];

3. 操作数组有一系列函数, 可以实现数组比较,添加新元素,一般数组是否包含另一数组的判断,等等。具体参考PostgreSQL说明文档中函数和操作符中有关Array的部分。

操作符有: =, <>, <, >, >=, <=, @>, @<, &&, ||

函数有: array_append, array_cat, array_ndims, array_dims, array_fill, array_length, array_lower, array_remove, array_replace, array_to_string, array_upper, string_to_array, unnest等.

其中,常用的是: array_append,  array_length, unnest

4. 使用数组下标获得数组的元素,下标是从1开始的

select (array[1, 3, 4]::int[])[2];

5. 可以用unnest将数组转换成一个结果集,个人觉得这个很有用处

select a.a from unnest(array[1, 3, 4]::int[]) a;