PostgreSQL -- 数组类型操作
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、数组类型创建表数组类型,要求数组内的元素属于同一种类型,当出现No function matches the given name and argument types. You might ne
千家信息网最后更新 2026年11月02日PostgreSQL -- 数组类型操作
一、数组类型创建表
数组类型,要求数组内的元素属于同一种类型,当出现No function matches the given name and argument types. You might need to add explicit type casts.报错的时候,说明 list 的格式和插入数据或者修改数据的格式不同导致的, 类型很重要,需要保证类型相同才可以操作
1.1、建表指定数组类型
只需要在表字段类型后面加'[]'
postgres=# create table test1 ( id serial, arr int[], name varchar(10)[], age char(10)[], score float[] ); postgres=# \d+ test1; Table "public.test1" Column | Type | Modifiers | Storage | Stats target | Description --------+-------------------------+----------------------------------------------------+----------+--------------+------------- id | integer | not null default nextval('test1_id_seq'::regclass) | plain | | arr | integer[] | | extended | | name | character varying(10)[] | | extended | | age | character(10)[] | | extended | | score | double precision[] | | extended | | 1.2、数据插入
postgres=# insert into test(id, uid) values(3, '{1, 2, 3}'); 插入数组方式1postgres=# insert into test(id, uid) values(3, array[20, 30]::int8[]); 插入数组方式二1.3、修改数组:
postgres=# update test set uid = uid || '{0}'; 后面追加一个数组postgres=# update test set uid='{0,0}' || uid; 在前面插入一个数组postgres=# update arr_test set uid=array_append(uid, '1'::int); 指明类型追加一个数postgres=# update arr_test set uid=array_append(uid, 1); 按默认int类型追加一个数postgres=# update arr_test set uid=array_prepend('1'::int, uid); 在前面插入一个数1.4、删除数组中的数据
postgres=# update arr_test set uid=array_remove(uid, '1'::int); 指明类型移除指定的数1.5、查找数组中的数据
postgres=# select * from test where 20=any(uid); #uid数组中存在20的rowpostgres=# select * from test where uid && array[20, 1]::int8[]; uid数组中和array[20, 1]存在交集的postgres=# select * from arr_test where uid@>'{1, 2}'; uid 数组中同时包含[1, 2]的postgres=# select * from arr_test where uid<@'{1, 2}'; uid 数组被[1, 2]包含的postgres=# select * from arr_test where 2=uid[1]; 使用uid 数组下标查询,下标是从1开始的
postgres=# select id, uid[2] from arr_test; 使用下标显示
数组
类型
数据
下标
个数
方式
格式
加一
不同
相同
重要
交集
元素
同时
字段
时候
保证
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
合肥互联网科技公司
奇酷互联网科技
杭州互联网科技公司
致聘互联网科技
壹账通互联网科技
善班互联网科技有限公司
壕鑫互联网络科技
美国互联网黑科技
有木互联网科技
甘肃拓世互联网科技有限公司
常德市电业局互联网科技部
互联网数据科技专业
区块链结合互联网科技
科技互联网海报
2021世界互联网领先科技成果发布
易租星互联网科技有限公司
福仕德教育科技互联网
互联网金融金融科技
杭州科技互联网公司有哪些
广东猫王互联网科技有限公司电话
互联网通讯科技
北京互联网科技公司
亿策互联网科技
碳银互联网科技有限公司
互联网科技公司有哪些
河南猎农互联网科技有限公司
科技赋能视角下互联网保险发展
版纳互联网科技选哪家
陕西彩京云互联网科技有限公司
优雇互联网科技有限公司