在 Postgres 中搜索字符串数组
Search Array of Strings in Postgres
我正在使用 Postgres 9.5,并且我有一个列 col
包含这样的数组
["ABC","4"]
["4","5","6"]
["ABC"]
如何搜索包含 'ABC'
的所有数组?
我已经尝试了所有方法 - @>
、ANY
等,并查看了 20 个关于 SO 的问题。
这是我得到的最接近的,但它只有 returns 完全匹配。
select * from t
where col = '["ABC"]';
您应该构造一个单元素数组并使用“包含”运算符:
SELECT * FROM t
WHERE arr @> ARRAY['ABC'];
GIN 索引可以加快搜索速度。
我正在使用 Postgres 9.5,并且我有一个列 col
包含这样的数组
["ABC","4"]
["4","5","6"]
["ABC"]
如何搜索包含 'ABC'
的所有数组?
我已经尝试了所有方法 - @>
、ANY
等,并查看了 20 个关于 SO 的问题。
这是我得到的最接近的,但它只有 returns 完全匹配。
select * from t
where col = '["ABC"]';
您应该构造一个单元素数组并使用“包含”运算符:
SELECT * FROM t
WHERE arr @> ARRAY['ABC'];
GIN 索引可以加快搜索速度。