跳到主要内容

IS_IP_ADDRESS_IN_RANGE

描述

判断IP(IPv4或IPv6)地址是否包含在以CIDR表示法表示的网络中。

语法

IS_IP_ADDRESS_IN_RANGE(ip_str, cidr_prefix)

参数

ParameterDescription
<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 |
+------+------+------+