postgres 选择在 varchar[] 列中具有任何列表字符串的所有行

Posted

技术标签:

【中文标题】postgres 选择在 varchar[] 列中具有任何列表字符串的所有行【英文标题】:postgres select all rows that has any of list strings in a varchar[] column 【发布时间】:2020-06-23 17:16:10 【问题描述】:
create table Table1(id bigserial not null primary key, names VARCHAR(256)[]);

insert into Table1(names) values('name1,name2');

insert into Table1(names) values('name3,name4');

select * from Table1 where names @> 'name1';

结果

id | name

---+-----

1  | name1,name2

我希望能够提供 varchar 列表,如 name1、name3 和选择查询应该返回两行

【问题讨论】:

【参考方案1】:

您可以使用重叠运算符&&

where names && array['name1', 'name3']::varchar[];

【讨论】:

以上是关于postgres 选择在 varchar[] 列中具有任何列表字符串的所有行的主要内容,如果未能解决你的问题,请参考以下文章

将选择值插入 postgres 表

postgres:通过 varchar 搜索,这是 java 中的枚举

postgres数据库varchar类型的最大长度

在 Postgres 中的现有列中添加“串行”

从 postgres 表列中删除括号,但在其中保留单词

如何使用 Slick 在 Postgres 中将 json 对象插入到 jsonb 类型的列中