Postgres:查找包含t的匹配数组或数组

时间:2016-07-14 13:30:13

标签: sql arrays postgresql

我使用的是postgres 9.5并且有一个看起来像这样的表:

+----+--------------+-------------------------------+
| id | string_field | array_field                   |
|----+--------------+-------------------------------|
| 1  | string a     | [apple, orange, banana, pear] |
| 2  | string b     | [apple, orange, banana]       |
| 3  | string c     | [apple, orange]               |
| 4  | string d     | [apple, pear]                 |
| 5  | string e     | [orange, apple]               |
+----+--------------+-------------------------------+

是否可以在数据库中查询array_field 所在的行,或包含 [apple, orange, banana]的行?结果应该返回id为1和2的行。

1 个答案:

答案 0 :(得分:3)

尝试这样的事情:

where array_field @> ARRAY['apple', 'orange', 'banana']::varchar[]

Documentation