我试图选择在任何范围的集合中都存在值的行。到目前为止,我只能进行以下工作:

SELECT * FROM table
WHERE num <@ numrange(1,4) OR num <@ numrange(7,11)

我希望我能够得到类似的东西
SELECT * FROM table
WHERE num <@ ANY(numrange(1,4), numrange(7,11))

工作,但我没有运气。

有没有比将OR链接在一起更好的解决方案的想法?

最佳答案

您接近了……ANY(...)表达式中的值必须是一个数组:

SELECT * FROM table
WHERE num <@ ANY(ARRAY[numrange(1,4), numrange(7,11)])

关于postgresql - 选择范围集合中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36928147/

10-12 18:00