PostgreSQL -- 数组类型操作
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,一、数组类型创建表数组类型,要求数组内的元素属于同一种类型,当出现No function matches the given name and argument types. You might ne
千家信息网最后更新 2025年11月12日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安全错误
数据库的锁怎样保障安全
服务器数据库怎么设置不能访问
通信与网络技术实验报告
高通接口协议路测软件开发
网络技术的不断发展
html中数据库中表格怎么插
网络安全工作找
阿里云如何转移服务器
服务器安全排行
阿古斯服务器在几区
华服互联网科技 罗小伟
智能视频监控服务器照片
电子网络技术学校招生
天津服务器虚拟化设计
高校 网络安全 需求
手机软件开发龙头股
软件开发工程师制度
群晖两台设备同步数据库
数据模型属于数据库系统吗
2019网络安全公司
东莞壁球软件开发
DSP软件开发培训公司
江西省电力监控系统网络安全
软件开发框架结构
长城宽带服务器哪个好
网站空间和网站数据库
华服互联网科技 罗小伟
树立网络安全意识绿色文明上网
网络安全与信息化建设审计总结
长城服务器管理口
查看mysql数据库名称