NET_IPV4_TO_INT64

NET_IPV4_TO_INT64函数用于将IPv4地址从二进制BINARY格式转换为整数BIGINT格式。

命令格式

BIGINT NET_IPV4_TO_INT64(BINARY <addr>)

参数说明

addr:必填。BINARY类型。待转换的表示IPv4地址的数据。NET_IPV4_TO_INT64函数不支持处理 IPv6 地址。

返回值说明

返回BIGINT类型的IP地址。返回规则如下:

  • 若输入addrBINARY类型的IPv4地址时,则返回报错。

  • 若输入addr值为NULL时,则返回NULL。

说明

在整数输出中,IP地址的最低有效位存储在整数的最低有效位数中。例如,1表示0.0.0.1;511表示0.0.1.255。输出在[0,4294967295]范围内。

使用示例

  • 示例一:与NET_SAFE_IP_FROM_STRING函数一起使用,该函数先将字符串STRING格式的IPv4地址转换为二进制BINARY格式,再通过NET_IPV4_TO_INT64函数转换为BIGINT类型。

    -- 返回 808530483
    SELECT NET_IPV4_TO_INT64(NET_SAFE_IP_FROM_STRING('48.49.50.51'));
    
    -- 返回 1
    SELECT NET_IPV4_TO_INT64(NET_SAFE_IP_FROM_STRING('0.0.0.1'));
    
    -- 返回 511
    SELECT NET_IPV4_TO_INT64(NET_SAFE_IP_FROM_STRING('0.0.1.255'));
  • 示例二:若输入值为NULL时,则返回NULL。

    -- 返回 NULL
    SELECT NET_IPV4_TO_INT64(NULL);

相关函数

NET_IPV4_TO_INT64函数属于网络函数,更多网络相关函数请参见网络函数