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

PG的数据类型(一)——数组类型,第1张

概述PG里面的数组类型的使用(因为MySQL之前是没有数组类型的) 1.创建测试表: create table test_array( id serial primary key, info text[][] ); 插入数据测试: insert into test_array(info) values ('[["姓名", "出资方式"], ["任守智", "个人财产出资"]]'); DETAIL: “

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构造器语法

可以插入成功。

查看数据,发现数据数据是这样存储的:
verticledata=> select * from test_array; ID |                  info----+-----------------------------------------  1 | {{姓名,出资方式},{任守智,个人财产出资}}  2 | {{姓名,个人财产出资}}(2 行记录)
使用数组,可以发现数组的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("投资人信息",'[','{'),']','}'))
总结

以上是内存溢出为你收集整理的PG的数据类型(一)——数组类型全部内容,希望文章能够帮你解决PG的数据类型(一)——数组类型所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1173887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存