SQL IP地址函数
功能函数
对于IPv4地址函数,地址参数可以是IPv4点分十进制字符串(例如"192.168.0.1")或表示为整数的IP地址(例如3232235521)。subnet 参数应该是一个字符串,格式为CIDR表示法中的IPv4地址子网(例如"192.168.0.0/16")。
IP函数语句
语句 |
说明 |
示例 |
---|---|---|
IPV4_MATCH(address,subnet) |
如果subnet属于address的子网地址则返回true,否则返回false。如果 address不是有效的IPv4地址,则返回false。如果 address是整数而不是字符串,则此函数更效率。 |
SELECT IPV4_MATCH (address,subnet) |
IPV4_PARSE(address) |
将address解析为整数的IPv4地址。如果address是有效的IPv4地址,则它可以被解析。如果address不是有效的IPv4地址,则返回null。 |
SELECT IPV4_PARSE(address) |
IPV4_STRINGIFY(address) |
将整数address转换为以点分隔的IPv4地址字符串。如果address是有效的IPv4地址的整数,则它可以被解析。如果address不能表示为IPv4地址,则返回null。 |
SELECT IPV4_STRINGIFY(address) |
示例及说明
IPV4_MATCH(address, subnet)函数
IPV4_MATCH函数,如果address属于subnet的子网ip,则返回true,否则返回false。如果address不是有效的IPv4地址,则返回false。如果address 是整数而不是字符串,则此函数具有更高的执行效率。
- 字段样例
Ipv4: 192.168.1.18
- 查询和分析语句
select IPV4,IPV4_MATCH(Ipv4, '192.168.0.0/16')
- 查询和分析结果
表1 查询和分析结果 IPV4
EXPR$1
192.168.1.18
true
IPV4_PARSE(address)/ IPV4_STRINGIFY(address)函数
将address解析为整数的IPv4地址。如果address是有效的IPv4地址,则它可以被解析。如果address不是有效的IPv4地址,则返回null。
- 字段样例
Ipv4: 192.168.0.1
Num: 3232235521
- 查询和分析语句
select IPV4_PARSE(Ipv4), IPV4_STRINGIFY(Num)
- 查询和分析结果
表2 查询和分析结果 EXPR$0
EXPR$1
-1062731775
192.168.0.1