Presto | IP 地址函数
ip_prefix(ip_address, prefix_bits) → ipprefix
使用子网掩码长度 prefix_bits
,返回 IP 地址 ip_address
的 IP 前缀。ip_address
可以是 VARCHAR
类型或者 IPADDRESS
类型。
示例
1 | SELECT ip_prefix(CAST('192.168.255.255' AS IPADDRESS), 9); |
ip_subnet_min(ip_prefix) → ip_address
返回子网网段 ip_prefix
指定的最小 IP 地址。
示例
1 | SELECT ip_subnet_min(IPPREFIX '192.168.255.255/9'); |
ip_subnet_max(ip_prefix) → ip_address
返回子网网段 ip_prefix
指定的最大 IP 地址。
示例
1 | SELECT ip_subnet_max(IPPREFIX '192.64.0.0/9'); |
ip_subnet_range(ip_prefix)
返回一个包含两个 IP 地址的数组。该数组分别包含子网网段 ip_prefix
指定的最小 IP 地址和最大 IP 地址。
示例
1 | SELECT ip_subnet_range(IPPREFIX '1.2.3.160/24'); |
is_subnet_of(ip_prefix, ip_address) → boolean
如果 ip_address
是 ip_prefix
指定子网网段内的地址,则返回 true
。
示例
1 | SELECT is_subnet_of(IPPREFIX '1.2.3.128/26', IPADDRESS '1.2.3.129'); |
is_subnet_of(ip_prefix1, ip_prefix2) → boolean
如果 ip_prefix2
是 ip_prefix1
的子网网段,则返回 true
。
示例
1 | SELECT is_subnet_of(IPPREFIX '192.168.3.131/26', IPPREFIX '192.168.3.144/30'); |
(END)
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.