IS_IP_ADDRESS_IN_RANGE
描述
判断 IP(IPv4 或 IPv6)地址是否包含在以 CIDR 表示法表示的网络中。
语法
IS_IP_ADDRESS_IN_RANGE(ip_str, cidr_prefix)
参数
Parameter | Description |
---|---|
<ip_str> | 字符串类型的 ipv4 或者 ipv6 地址 |
<cidr_prefix> | cidr 前缀 |
返回值
如果 IP(IPv4 或 IPv6)地址是包含在以 CIDR 表示法表示的网络中,则返回 true,否则返回 false。
- 如果输入值为 NULL, 则返回 NULL
举例
SELECT is_ip_address_in_range('127.0.0.1', '127.0.0.0/8') as v4, is_ip_address_in_range('::ffff:192.168.0.1', '::ffff:192.168.0.4/128') as v6, is_ip_address_in_range('127.0.0.1', NULL) as nil;
+------+------+------+
| v4 | v6 | nil |
+------+------+------+
| 1 | 0 | NULL |
+------+------+------+