postgresql —— 数组类型

前提是你 提交于 2019-12-05 20:02:19

创建数组

 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!