gpt4 book ai didi

postgresql - 是否可以组合 ANY 和 BETWEEN 运算符

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

我需要检查 Postgres 数组中的任何值是否在给定范围内。像这样:

SELECT * FROM my_table WHERE ANY(my_array) BETWEEN 50 AND 60;

我意识到我实际上不能这样做,因为 ANY 运算符必须始终位于表达式的右侧。有谁知道做这样的事情有什么方便的解决方法吗?

最佳答案

您可以使用 range types ,特别是范围成员运算符 @>:

SELECT * FROM my_table WHERE '[50,60]'::int4range @> ANY(my_array);

如果您需要从列或参数中提取范围边界,范围构造函数可能更适合您:

SELECT * FROM my_table WHERE int4range(a,b,'[]') @> ANY(my_array);

关于postgresql - 是否可以组合 ANY 和 BETWEEN 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31991269/

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