arrays - 使用通配符/喜欢从 postgres 中的数组中选择

标签 arrays postgresql unnest

所以我有一个 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/

相关文章:

python - 在带有标记的列和行的 python 字典中创建矩阵

javascript - 如何根据用户将告诉键及其值的子数组的值来过滤此数组

javascript - 如何在YII2中点击按钮后获取表格数组

arrays - Hive 中 Presto UNNEST 函数的等价物是什么

sql - 将 UNNEST 与 JOIN 结合使用

java - 我的数组一直打印空值。填写不当?

postgresql 将特定表中的特定列从数据库导出到另一个数据库的最佳方法是什么

ruby-on-rails - 销毁对象时清空列名

ruby-on-rails - heroku 数据库访问和修改太昂贵/太耗时?如何让它更快?

sql - BigQuery 根据(Array CONTAINED IN Array)条件连接 2 个表