更新时间:2024-09-19 GMT+08:00

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 是整数而不是字符串,则此函数具有更高的执行效率。

  1. 字段样例

    Ipv4: 192.168.1.18

  2. 查询和分析语句
    select IPV4,IPV4_MATCH(Ipv4, '192.168.0.0/16')
  3. 查询和分析结果
    表1 查询和分析结果

    IPV4

    EXPR$1

    192.168.1.18

    true

IPV4_PARSE(address)/ IPV4_STRINGIFY(address)函数

将address解析为整数的IPv4地址。如果address是有效的IPv4地址,则它可以被解析。如果address不是有效的IPv4地址,则返回null。

  1. 字段样例

    Ipv4: 192.168.0.1

    Num: 3232235521

  2. 查询和分析语句
    select  IPV4_PARSE(Ipv4), IPV4_STRINGIFY(Num)
  3. 查询和分析结果
    表2 查询和分析结果

    EXPR$0

    EXPR$1

    -1062731775

    192.168.0.1