我使用的是Postgres 9.5,我有一列col
包含这样的数组
["ABC","4"]
["4","5","6"]
["ABC"]
如何搜索包含'ABC'
的所有数组?
我已经尝试了所有方法-@>
,ANY
等,并针对SO提出了20个问题。
这是我得到的最接近的,但它只返回完全匹配项。
select * from t
where col = '["ABC"]';
答案 0 :(得分:1)
您应该构造一个单元素数组并使用“包含”运算符:
SELECT * FROM t
WHERE arr @> ARRAY['ABC'];
GIN索引可以加快搜索速度。