2

我有一个包含两个 cidr 数组的表。一个包含主机 IP 地址,第二个包含网络地址。

我需要编写一个函数来执行这样的查询:

SELECT * from sometable 
WHERE ip_addr IN( 'all items from first array') OR
ip_addr << 'all item from second array'

所以基本上我需要从第一个数组中搜索 ip_addr 等于一个或 ip_addr 包含在第二个数组中的一个网络中的记录。

4

1 回答 1

3

如果我理解正确,您正在寻找比较ANY功能

SELECT * 
  FROM sometable 
 WHERE (   ip_addr  = ANY ('all items from first array') 
        OR ip_addr << ANY ('all item from second array')
       )
于 2014-04-15T08:39:08.407 回答