1. 程式人生 > 其它 >PGSQL 學習之陣列欄位

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']);
活到老,學到老。