所以我有一个 Postgres 数据库,其中一列是字符串数组
如果我做查询
SELECT count(*) FROM table WHERE column @> ARRAY['string']::varchar[];
我得到了一组特定的数据,但如果我想在字符串上使用通配符查询该数组,我似乎无法弄清楚,比如
SELECT count(*) FROM table WHERE column LIKE ARRAY['%string%']::varchar[];
感谢任何帮助!
最佳答案
使用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)
关于arrays - 使用通配符/喜欢从 postgres 中的数组中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35355400/