【问题标题】:Select from array in postgres using wildcard/Like使用通配符/Like 从 postgres 中的数组中选择
【发布时间】:2016-05-23 04:15:48
【问题描述】:

所以我有一个 Postgres 数据库,其中一列是字符串数组

如果我进行查询

SELECT count(*) FROM table WHERE column @> ARRAY['string']::varchar[];

我得到了一组数据,但如果我想用字符串上的通配符查询该数组,我似乎无法弄清楚,类似于

SELECT count(*) FROM table WHERE column LIKE ARRAY['%string%']::varchar[];

感谢任何帮助!

【问题讨论】:

    标签: arrays postgresql unnest


    【解决方案1】:

    使用unnest():

    WITH t(arr) AS ( VALUES
      (ARRAY['foo','bar']),
      (ARRAY['foo1','bar1'])
    )
    SELECT count(*) FROM t,unnest(t.arr) AS str
    WHERE str ILIKE '%foo%';
    

    结果:

     count 
    -------
         2
    (1 row)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-24
      • 1970-01-01
      • 2012-05-24
      • 2021-01-08
      • 2014-02-09
      • 2011-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多