如何从PostgreSQL json中提取数组
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;
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |