You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查PostgreSQL数组是否包含大于指定值的元素

筛选数组中至少包含一个大于200元素的记录

针对PostgreSQL中int[]类型的列,要找出数组里至少有一个元素大于200的记录,最简洁高效的方法是使用ANY操作符:

SELECT * FROM 你的表名 WHERE 200 < ANY(你的数组列名);

示例验证

假设你的表名为demo_table,数组列名为array_col,结合你提供的示例数据:

array_col
-------------
{18}
{489}
{218, 333, 100}
{23, 44, 102}

执行上述SQL后,会返回第二行({489})和第三行({218, 333, 100}),完全符合需求。

备选方法(效率稍低)

也可以通过unnest函数将数组拆分为单行元素,再筛选后去重:

SELECT DISTINCT t.* FROM demo_table t, unnest(t.array_col) elem WHERE elem > 200;

这种方法适合需要对数组元素做更复杂处理的场景,但对于简单的数值比较,优先推荐ANY操作符的写法。

内容的提问来源于stack exchange,提问作者Terry Windwalker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 19:33:33