3

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

如果我做查询

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

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

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

任何帮助表示赞赏!

4

1 回答 1

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)
于 2016-02-12T05:43:01.360 回答