Postgres 数据库允许把字段定义为可变长度的数组。数据类型既可以是内置类型,也可以是用户自定义的类型或枚举类型。
例如:
创建表
create table demo(name text,subject text[]);
插入数据
insert into demo values ('张三', '{"语文", "数学"}');
或
insert into demo values ('李四', Array['语文', '数学', '英语']);
注意:正确使用单引号和双引号
查看数据
select * from demo;
name | subject
------+------------------
张三 | {语文,数学}
李四 | {语文,数学,英语}
(2 rows)
通过数组数据访问数据
select name from demo where subject[3]='英语';
select subject[1:2] from mytable;
要在数组中查找某个特定元素值, 可以使用ANY关键词。
select name from demo where '英语' = ANY(subject);
要查找数组中所有值都匹配某个值, 可以使用ALL。
select name from demo where '语文' = ALL(subject);