首页 > 解决方案 > 检查整数是否介于二维数组列的任何整数对之间

问题描述

鉴于:

要匹配的元素 int:4200

二维数组列(int[][]):{{1000,3000},{4000,4500},{8000,9000}}

期望的输出:记录在多维数组中4200找到between/range in ANY的位置。integer pair

样本理想输出:

4200 = true
900 = false
4501 = false
8000 = true

到目前为止,我所拥有的是:

SELECT schedule."hours" FROM public."Schedule" as schedule
  WHERE 4200 between schedule."hours"[1][1] and schedule."hours"[1][2];

我面临的挑战是我需要在所有数组中检查它。因为我所做的只是在多维数组的第一个整数对上匹配它。

编辑答案:如果其他人和我有同样的担忧。

我将此链接发送给我的一位同事,他很快就理解了我的担忧,并指出使用generate_subscripts而不是在我的 where 子句中手动列出索引(在 schedule."hours"[1][1] 和 schedule."hours" 之间) [1][2])

generate_subscripts正是我列出索引并在 where 子句中使用它所需要的。

标签: sqlarrayspostgresqlmultidimensional-array

解决方案


推荐阅读