我想检查一系列范围内是否存在IP,例如:SELECT * FROM ip_address WHERE ip IN (<list of ip ranges>)
Postgresql documentation声明要使用&lt;&lt;运算符检查IP是否包含在单个IP范围内,例如:inet '192.168.1.5' << inet '192.168.1/24'
,但我不确定如何在范围列表中使用它而不必构建&lt;&lt;的
答案 0 :(得分:11)
select inet '192.168.1.5' << any (array['192.168.1/24', '10/8']::inet[]);
?column?
----------
t
http://www.postgresql.org/docs/current/static/functions-comparisons.html#AEN18486