你怎么做"在"带数组数据类型的SQL查询?

时间:2014-05-23 09:13:01

标签: postgresql

我有一个字段:

dtype ==> character varying(3)[]

......但它是一个数组。所以我举个例子:

ID | name | dtype
1  | one  | {'D10', 'D20', 'D30'}
2  | sam  | {'D20'}
3  | jax  | {'D10', 'D20'}
4  | pam  | {'D10', 'D30'}
5  | pot  | {'D10'}

我希望能够做到这样的事情:

select * from table where dtype in ('D20', 'D30')

这种语法不起作用,但目标是返回字段1,2,3,4而不是5。

这可能吗?

1 个答案:

答案 0 :(得分:1)

使用&&运算符as shown in the PostgreSQL manual under "array operators"

select * from table where dtype && ARRAY['D20', 'D30']