【问题标题】:Search Array of Strings in Postgres在 Postgres 中搜索字符串数组
【发布时间】:2018-11-18 12:21:35
【问题描述】:

我正在使用 Postgres 9.5,我有一列 col 包含这样的数组

["ABC","4"]
["4","5","6"]
["ABC"]

如何搜索所有包含'ABC' 的数组?

我已经尝试了所有方法 - @>ANY 等,并查看了关于 SO 的 20 个问题。 这是我得到的最接近的,但它只返回完全匹配。

select * from t 
where col = '["ABC"]';

【问题讨论】:

    标签: arrays postgresql postgresql-9.5


    【解决方案1】:

    您应该构造一个单元素数组并使用“包含”运算符:

    SELECT * FROM t
    WHERE arr @> ARRAY['ABC'];
    

    GIN 索引可以加快搜索速度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-26
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2011-07-22
      • 1970-01-01
      相关资源
      最近更新 更多