如何使用数组中的select包含psql中的value子句

时间:2013-05-17 10:02:14

标签: postgresql postgresql-9.2

我的列arr类型为array

我需要获取行,其中arr列包含值s

此查询:

SELECT * FROM table WHERE arr @> ARRAY['s']

给出错误:

  

错误:运算符不存在:字符变化[] @>文本[]

为什么不起作用?

P.S。我知道any()运算符,但为什么@>不起作用?

3 个答案:

答案 0 :(得分:89)

尝试

SELECT * FROM table WHERE arr @> ARRAY['s']::varchar[]

答案 1 :(得分:41)

请注意,这也可能有效:

SELECT * FROM table WHERE s=ANY(array)

答案 2 :(得分:13)

SELECT * FROM table WHERE arr && '{s}'::text[];

将两个数组进行比较以进行遏制。