加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PG的数据类型(一)——数组类型

发布时间:2020-12-13 17:02:03 所属栏目:百科 来源:网络整理
导读:PG里面的数组类型的使用(因为MySQL之前是没有数组类型的) 1.创建测试表: create table test_array( id serial primary key ,info text[][] ); 插入数据测试: insert into test_array(info) values ( '[["姓名","出资方式"],["任守智","个人财产出资"]]'

PG里面的数组类型的使用(因为MySQL之前是没有数组类型的)

1.创建测试表:

create table test_array( id serial primary key,info text[][] );

插入数据测试:

insert into test_array(info) values ('[["姓名","出资方式"],["任守智","个人财产出资"]]');

DETAIL: “[” must introduce explicitly-specified array dimensions.
报错说:”[“必须指定明确地数组维度。

使用其他方式插入数据:

insert into test_array(info) values ('{{"姓名","出资方式"},{"任守智","个人财产出资"}}');
insert into test_array(info) values (ARRAY[['姓名','出资方式'],['任守智','个人财产出资']]);--Array构造器语法

可以插入成功。

  1. 查看数据,发现数据数据是这样存储的:
verticledata=> select * from test_array;
 id |                  info
----+-----------------------------------------
  1 | {{姓名,出资方式},{任守智,个人财产出资}}
  2 | {{姓名,个人财产出资}}
(2 行记录)
  1. 使用数组,可以发现数组的index从1开始。
verticledata=> select info[1][1] from test_array;
 info ------
 姓名
 姓名
(2 行记录)

verticledata=> select info[2][2] from test_array;
 info --------------
 个人财产出资
 个人财产出资
(2 行记录)

那现在我的问题是:我需要把个人财产出资从‘[[“姓名”,“出资方式”],[“任守智”,“个人财产出资”]]’这里面取出来该怎么办?

将中括号替换为花括号即可,但是文档里面没有找到这个函数。。。。

select ((replace(replace("投资人信息",'[','{'),']','}'))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读