Postgres检查IP(inet)是否在IP范围列表中

时间:2014-07-24 21:13:47

标签: postgresql ip-address inet

我想检查一系列范围内是否存在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;的

1 个答案:

答案 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