gpt4 book ai didi

sql - PostgreSQL:是否可以确定数组中的任何元素是否与范围重叠?

转载 作者:行者123 更新时间:2023-11-29 14:25:29 25 4
gpt4 key购买 nike

假设我有一个包含 int[] 列和值的表:

'[1,4,1300]'::int4[]

如果任何元素与 BETWEEN 语句匹配,我希望能够查询该列并获得 true。所以,在这种情况下,是这样的:

SELECT id FROM table WHERE col && '[1000,2000]'::int4range 或类似内容。

列使用gist__int_ops

最佳答案

教条式的答案是你不应该在你的表中使用数组,而应该使用子表。我通常不遵守教条,但在这种情况下,我认为这也可能是务实的答案。我在索引的可扩展性 API 中没有看到任何看起来您甚至可以实现自己的扩展来执行此操作的内容。

如果您使用子表,您将返回使用 BETWEEN..AND 进行查询,而不是 int4range,以获得可索引性。

关于sql - PostgreSQL:是否可以确定数组中的任何元素是否与范围重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58467859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com