创建数组
CREATE TABLE sal_emp ( name text, pay_by_quarter integer[] --还可以定义为integer[4]或integer ARRAY[4] );
插入数据
NSERT INTO sal_emp VALUES ('Bill', '{11000, 12000, 13000, 14000}'); INSERT INTO sal_emp VALUES ('Carol', ARRAY[21000, 22000, 23000, 24000]);
下标查询
SELECT pay_by_quarter[3] FROM sal_emp; SELECT name FROM sal_emp WHERE pay_by_quarter[1] <> pay_by_quarter[2];
范围查询
SELECT name,pay_by_quarter[1:3] FROM sal_emp;
数组大小可以灵活变化
UPDATE sal_emp SET pay_by_quarter[5] = 45000 WHERE name = 'Bill';
any | all 检索
SELECT * FROM sal_emp WHERE 10000 = ANY (pay_by_quarter); SELECT * FROM sal_emp WHERE 10000 = ALL (pay_by_quarter);
参考文章
https://www.cnblogs.com/stephen-liu74/archive/2011/12/19/2293602.html