PGSQL 學習之陣列欄位
阿新 • • 發佈:2021-12-31
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']);