首先创建一张表
--数组类型
create table test_array1(
id integer,
array_i integer[], --数字类型数组
array_t text[]); --text类型数组
插入数据
--数组类型的插入方式两种
--第一种
insert into test_array1(id , array_i , array_t) values(1 , '{1,2,3}' , '{"abc","def"}');
--第二种
insert into test_array1(id , array_i , array_t) values(2 , array[4,5,6,7],array['h','d','s']);
数组类型的查询
select array_i from test_array1 where id = 1;--查询数组名即可
select array_i[1],array_t[1] from test_array1;--通过[]方式获取数据,下标从1开始
数组元素的追加、删除、更新
select array_append(array[1,2,3] , 4); --数组末尾追加一个元素
select array[1,2,2,3] , array_remove(array[1,2,2,3] , 2);--移除2
update test_array1 set array_i[2] = 100 where id = 1;--修改数组元素
update test_array1 set array_i = array[7,8,9] where id = 1;--修改整个数组元素
数组一般函数
select array_length(array[1,2,3,4,7,8,9] , 1);--获取数组长度
select array_position(array['a','ab','cd','abc','hdsssss','hds'] , 'hds');--返回某个数组元素第一次出现的位置
select array_replace(array[1,2,5,4,5] , 5,10);--将全部5替换为10