PGSQL 学习之数组字段

PGSQL 支技在字段中存储数组,定义时有三种方法:

1字段名[],2指定 ARRAY 关键字 3 直接输入维度, 如: NAME VARCHAR(20) []  或 NAME VARCHAR(20) ARRAY,

建表:

--数组类型
create table lr_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开始
--查询array_i数据组中包含有3的 数据
--查询array_i数据组中包含有3的 数据
select * from lr_array1 WHERE array_i @>'{3}'


insert into lr_array1(id , array_i , array_t)     values(1 , '{1,2,3}' , '{"abc","def"}');    

    insert into lr_array1(id , array_i , array_t) values(2 , '{1,2,3}' , '{"abc","def"}');    
    insert into lr_array1 values(5,'{3,2,1,0}','{"abc","cde","bef"}')
    
    insert into lr_array1(id , array_i , array_t) values(3 , array[4,5,6,7],array['h','d','s']);

活到老,学到老。
原文地址:https://www.cnblogs.com/lrzy/p/15752343.html