You need to enable JavaScript to run this app.
导航

IP 函数

最近更新时间2024.01.30 10:05:14

首次发布时间2024.01.22 17:18:38

本文介绍日志服务支持的 IP 函数语法及常见场景的使用示例。

注意

日志服务产品架构升级,支持更丰富的检索分析功能。

  • 如果控制台提示新一代架构正式发布信息,表示您使用的是 2.0 架构,可参考本文档使用相关功能。
  • 如果控制台未提示新一代架构正式发布信息,表示您使用的是 1.0 架构,可参考检索分析(1.0 架构)中的检索概述等文档使用相关功能。

关于 1.0 架构与 2.0 架构的具体说明,请参考日志服务架构升级通知

函数列表

说明

  • 针对海外 IP 地址,暂不支持通过 ip_to_province 函数查询省份、不支持通过 ip_to_provider 函数查询运营商,且 ip_to_geo 函数查询到的经纬度为所在地国家的经纬度。
  • 受限于 IP 地址分配机制与 IP 地址库的覆盖度,使用 IP 地址函数时,可能查询不到极少部分 IP 地址的详细地理信息,或查询结果存在一定误差。
  • 在日志服务分析语句(SQL 语句)中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。例如'time' 代表字符串,time"time" 代表字段名或列名。

函数类型

函数名称

语法

说明

IPv4 地址函数

IP_TO_CITY 函数

IP_TO_CITY(KEY)

分析目标 IPv4 地址所属城市,并返回城市的中文名称。

IP_TO_CITY(KEY, 'en')

分析目标 IPv4 地址所属城市,并返回城市的行政区划代码。

IP_TO_CITY_GEO 函数

IP_TO_CITY_GEO(KEY)

分析目标 IPv4 地址所属城市的经纬度,每个城市只有一个经纬度。

IP_TO_COUNTRY 函数

IP_TO_COUNTRY(KEY)

分析目标 IPv4 地址所属国家或地区,并返回国家或地区的中文名称。

IP_TO_COUNTRY(KEY, 'en')

分析目标 IPv4 地址所属国家或地区,并返回国家或地区的代码。

IP_TO_DOMAIN 函数

IP_TO_DOMAIN(KEY)

判断目标 IPv4 地址是内网地址还是外网地址。

IP_TO_GEO 函数

IP_TO_GEO(KEY)

分析目标 IPv4 地址所在位置的经纬度。

IP_TO_PROVIDER 函数

IP_TO_PROVIDER(KEY)

分析目标 IPv4 地址所对应的网络运营商。

IP_TO_PROVINCE 函数

IP_TO_PROVINCE(KEY)

分析目标 IPv4 地址所属省份,并返回省份的中文名称。

IP_TO_PROVINCE(KEY, 'en')

分析目标 IPv4 地址所属省份,并返回省份的行政区划代码。

IPv4 网段函数

IS_PREFIX_SUBNET_OF 函数

IS_PREFIX_SUBNET_OF(x, KEY)

判断目标 IPv4 网段是否为某网段的子网。

IS_SUBNET_OF 函数

IS_SUBNET_OF(x, KEY)

判断目标 IPv4 地址是否在某网段内。

IP_SUBNET_RANGE 函数

IP_SUBNET_RANGE(KEY)

获取 IPv4 网段范围。

IPv6地址函数

IPV6_TO_CITY 函数

IPV6_TO_CITY(KEY)

分析目标 IPv6 地址所属城市的名称。

IPV6_TO_CITY_GEO 函数

IPV6_TO_CITY_GEO(KEY)

分析目标 IPv6 地址所属城市的经纬度。

IPV6_TO_COUNTRY 函数

IPV6_TO_COUNTRY(KEY)

分析目标 IPv6 地址所属国家或地区。

IPV6_TO_DOMAIN 函数

IPV6_TO_DOMAIN(KEY)

判断目标 IPv6 地址是内网地址还是外网地址。

IPV6_TO_PROVIDER 函数

IPV6_TO_PROVIDER(KEY)

分析目标 IPv6 地址所对应的网络运营商。

IPV6_TO_PROVINCE 函数

IPV6_TO_PROVINCE(x))

分析目标 IPv6 地址所属省份。

IP_TO_CITY 函数

IP_TO_CITY 函数用于分析指定的 IPv4 地址所属城市。

函数语法

  • 语法格式

    • 返回城市的中文名称。

      IP_TO_CITY(KEY)
      
    • 返回城市的行政区划代码。

      IP_TO_CITY(KEY,'en')
      
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv4 地址。

  • 返回值说明
    返回值为 Varchar 类型。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所属城市的名称和行政区划代码。

  • 检索和分析语句

    * | SELECT IP_TO_CITY(test_ip), IP_TO_CITY(test_ip, 'en')
    
  • 检索和分析结果

IP_TO_CITY_GEO 函数

IP_TO_CITY_GEO 函数用于分析指定的 IPv4 地址所属城市的经纬度。每个城市只有一个经纬度。

函数语法

  • 语法格式

    IP_TO_CITY_GEO(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv4 地址。

  • 返回值说明
    返回值为 Varchar 类型。格式为纬度,经度

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所属城市的经纬度。

  • 检索和分析语句

    * | SELECT IP_TO_CITY_GEO(test_ip)
    
  • 检索和分析结果

IP_TO_COUNTRY 函数

IP_TO_COUNTRY 函数用于分析指定的 IPv4 地址所属国家或地区。

函数语法

  • 返回国家或地区的中文名称。

    IP_TO_COUNTRY(KEY)
    
  • 返回国家或地区的代码。

    IP_TO_COUNTRY(KEY,'en')
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv4 地址。

  • 返回值说明
    返回值为 Varchar 类型。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所属的国家或地区的中文名称和代码。

  • 检索和分析语句

    * | SELECT IP_TO_COUNTRY(test_ip),IP_TO_COUNTRY(test_ip,'en')
    
  • 检索和分析结果

IP_TO_DOMAIN 函数

IP_TO_DOMAIN 函数用于分析指定的 IPv4 地址是内网地址还是外网地址。

函数语法

  • 语法格式

    IP_TO_DOMAIN(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv4 地址。

  • 返回值说明
    返回值为 intranet 或 internet。

    • intranet :内网。
    • internet :外网。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址是内网地址还是外网地址。

  • 检索和分析语句

    * | SELECT IP_TO_DOMAIN(test_ip)
    
  • 检索和分析结果

IP_TO_GEO 函数

IP_TO_GEO 函数用于分析指定的 IPv4 地址所在位置的经纬度。

函数语法

  • 语法格式
IP_TO_GEO(KEY)
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv4 地址。

  • 返回值说明
    返回值为 Varchar 类型,格式为纬度,经度

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所在的经纬度。

  • 检索和分析语句

    * | SELECT IP_TO_GEO(test_ip)
    
  • 检索和分析结果

IP_TO_PROVIDER 函数

IP_TO_PROVIDER 函数用于分析指定的 IPv4 地址对应的网络运营商。

函数语法

  • 语法格式

    IP_TO_PROVIDER(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv4 地址。

  • 返回值说明
    返回值为 Varchar 类型。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所属的网络运营商。

  • 检索和分析语句

    * | SELECT IP_TO_PROVIDER(test_ip)
    
  • 检索和分析结果

IP_TO_PROVINCE 函数

IP_TO_PROVINCE 函数分析指定的 IPv4 地址所属省份。

函数语法

  • 语法格式

    • 返回省份的中文名称。

      IP_TO_PROVINCE(KEY)
      
    • 返回省份的行政区划代码。

      IP_TO_PROVINCE(KEY,'en')
      
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv4 地址。

  • 返回值说明
    返回值为 Varchar 类型。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所属的省份名称和行政区划代码。

  • 检索和分析语句

    * | SELECT IP_TO_PROVINCE(test_ip), IP_TO_PROVINCE(test_ip,'en') 
    
  • 检索和分析结果

IS_PREFIX_SUBNET_OF 函数

IS_PREFIX_SUBNET_OF 函数用于判断指定的网段是否为目标网段的子网。

函数语法

  • 语法格式

    IS_PREFIX_SUBNET_OF(x, KEY)
    
  • 参数说明

    参数

    说明

    x

    IPv4 网段。

    KEY

    字段、表达式,其值为 IPv4 网段。
    判断该网段是否属于 x 网段内。

  • 返回值说明
    返回值为 Boolean 类型。

函数示例

  • 场景
    判断 test_ip 字段值所在网段是否属于 192.168.0.1/24 网段。

  • 检索和分析语句

    * | SELECT IS_PREFIX_SUBNET_OF('192.168.0.1/24',CONCAT(test_ip,'/24'))
    
  • 检索和分析结果

IS_SUBNET_OF 函数

IS_SUBNET_OF 函数用于判断目标 IPv4 地址是否在指定的网段内。

函数语法

  • 语法格式

    IS_SUBNET_OF(x, KEY)
    
  • 参数说明

    参数

    说明

    x

    IPv4 网段。

    y

    字段、表达式,其值为 IPv4 地址。
    判断该 IP 地址是否属于 x 网段内。

  • 返回值说明
    返回值为 Boolean 类型。

函数示例

  • 场景
    判断 test_ip 字段值是否属于 192.168.0.1/24 网段。

  • 检索和分析语句

    * | SELECT IS_SUBNET_OF('192.168.0.1/24',test_ip)
    
  • 检索和分析结果

IP_SUBNET_RANGE 函数

IP_SUBNET_RANGE 函数用于获取 IPv4 网段范围。

函数语法

  • 语法格式

    IP_SUBNET_RANGE(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv4 网段。

  • 返回值说明
    返回值为 JSON 类型。

函数示例

  • 场景
    获取 test_ip 字段值所在网段的范围。

  • 检索和分析语句

    * | SELECT IP_SUBNET_RANGE(CONCAT(test_ip,'/24'))
    
  • 检索和分析结果

IPV6_TO_CITY 函数

IPV6_TO_CITY 函数用于分析指定的 IPv6 地址所属城市的名称。

函数语法

  • 语法格式

    IPV6_TO_CITY(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv6 地址。

  • 返回值说明
    返回值为 Varchar 类型。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所属的城市名。

  • 检索和分析语句

    * | SELECT IPV6_TO_CITY(test_ip)  
    
  • 检索和分析结果

IPV6_TO_CITY_GEO 函数

IPV6_TO_CITY_GEO 函数用于分析指定的 IPv6 地址所属城市的经纬度。

函数语法

  • 语法格式

    IPV6_TO_CITY_GEO(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv6 地址。

  • 返回值说明
    返回值为 Varchar 类型,格式为纬度,经度

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所属城市的经纬度。

  • 检索和分析语句

    * | SELECT IPV6_TO_CITY_GEO(test_ip) 
    
  • 检索和分析结果

IPV6_TO_COUNTRY 函数

IPV6_TO_COUNTRY 函数用于分析指定的 IPv6 地址所属国家或地区。

函数语法

  • 语法格式

    IPV6_TO_COUNTRY(KEY) 
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv6 地址。

  • 返回值说明
    返回值为 Varchar 类型。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所属的国家或地区。

  • 检索和分析语句

    * | SELECT IPV6_TO_COUNTRY(test_ip) 
    
  • 检索和分析结果

IPV6_TO_DOMAIN 函数

IPV6_TO_DOMAIN 函数用于判断指定的 IPv6 地址是内网地址还是外网地址。

函数语法

  • 语法格式

    IPV6_TO_DOMAIN(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv6 地址。

  • 返回值说明
    返回值为 intranet 或 internet。

    • intranet:内网。
    • internet:外网。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址是内网地址还是外网地址。

  • 检索和分析语句

    * | SELECT IPV6_TO_DOMAIN(test_ip)
    
  • 检索和分析结果

IPV6_TO_PROVIDER 函数

IPV6_TO_PROVIDER 函数用于分析目标 IP 地址所对应的网络运营商。

函数语法

  • 语法格式

    IPV6_TO_PROVIDER(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv6 地址。

  • 返回值说明
    返回值为 Varchar 类型。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IPv6 地址所属的网络运营商。

  • 检索和分析语句

    * | SELECT IPV6_TO_PROVIDER(test_ip)
    
  • 检索和分析结果

IPV6_TO_PROVINCE 函数

IPV6_TO_PROVINCE 函数用于分析目标 IPv6 地址所属省份。

函数语法

  • 语法格式

    IPV6_TO_PROVINCE(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 IPv6 地址。

  • 返回值说明
    返回值为 Varchar 类型。

函数示例

  • 场景
    通过 test_ip 字段查询相关 IP 地址所属的省份。

  • 检索和分析语句

    * | SELECT IPV6_TO_PROVINCE(test_ip)
    
  • 检索和分析结果