选择范围集合中的值

pgo*_*ijr 5 postgresql select contains range any

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

SELECT * FROM table
WHERE num <@ numrange(1,4) OR num <@ numrange(7,11)
Run Code Online (Sandbox Code Playgroud)

我希望我能得到类似的东西

SELECT * FROM table
WHERE num <@ ANY(numrange(1,4), numrange(7,11))
Run Code Online (Sandbox Code Playgroud)

工作,但我没有任何运气。

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

Nic*_*nes 3

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

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