postgresql —— 数组类型

创建数组

 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

你可能感兴趣的:(postgresql —— 数组类型)