如何从PostgreSQL json中提取数组

 我来答
追忆小土豆
2017-08-28 · TA获得超过7739个赞
知道大有可为答主
回答量:4890
采纳率:0%
帮助的人:1472万
展开全部
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;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式