选择范围集

时间:2016-04-29 01:35:45

标签: postgresql select range contains any

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

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一起链接更好的解决方案吗?

1 个答案:

答案 0 :(得分:3)

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

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