IP地址解析函数

更新时间:2024-12-16 06:48:19

本文将会为您介绍HologresIP地址解析相关函数以及函数的用法。

前提条件

在使用IP地址解析相关函数之前,您需要开通Hologres实例并连接开发工具,操作示例请参见连接HoloWeb并执行查询

函数概述

Hologres中使用到的IP地址解析相关函数如下表所示。

函数

说明

函数

说明

ip2region

获取IP地址对应的国家、省份、城市信息,且支持语言切换。

ip_country

获取IP地址对应的国家。

ip_province

获取IP地址对应的省份。

ip_city

获取IP地址对应的城市。

ip_isp

获取IP地址对应的互联网服务提供商。

ip2long

IP地址转换成一个数字。

long2ip

将数字转换成一个IP地址。

使用限制

Hologres中使用IP地址解析相关函数需要注意如下事项:

  • Hologres中使用IP地址解析相关函数目前仅支持IPv4的地址。

  • IP地址解析函数是基于扩展实现的,若需使用该功能,请执行以下操作:

    1. 提交工单,由Hologres技术支持在后台帮您开启函数配置

    2. 请实例的管理员(Superuser)在实例中执行如下扩展命令。

      create extension ipdb;
      说明

      该命令是DB级别的,一个DB只需要执行一次即可,切换到新DB后需要管理员(Superuser)再执行一次。

ip2region

  • 函数说明

    该函数主要用于获取IP地址对应的国家、省份、城市和互联网服务提供商信息,且支持语言切换。

  • 函数语法

    ip2region(ip, level, lang)
  • 参数说明

    参数

    说明

    参数

    说明

    ip

    text类型,表示待查询的IP地址(当前只支持ipv4)。

    level

    text类型, 包含四个可选项:

    • IP地址所属国家(Country)

    • IP地址所属省份(Province)

    • IP地址所属城市(City)

    • 互联网服务提供商(isp)

    lang

    text类型,仅支持CN、EN。指定返回结果的语言类型为中文或者英文。

  • 返回值类型:text类型。

  • 使用示例

    select ip2region('31.13.79.1', 'country', 'CN');
    select ip2region('31.13.79.1', 'country', 'EN');
    select ip2region('31.13.79.1', 'province', 'EN');
    select ip2region('31.13.79.1', 'city', 'EN');
    select ip2region('31.13.79.1', 'isp', 'EN');

ip_country/ip_province/ip_city/ip_isp

  • 函数说明

    ip_country/ip_province/ip_city/ip_ispip2region函数的一种简洁用法,主要用于获取IP地址对应的国家、省份、城市和互联网服务提供商信息。

  • 函数语法

    ip_country/ip_province/ip_city/ip_isp (ip, [lang])

    其中,ip_country为获取IP地址对应的国家,ip_province为获取IP地址对应的省份,ip_cityip_isp为获取IP地址对应的互联网服务提供商。

  • 参数说明

    参数

    说明

    参数

    说明

    ip

    text类型,表示待查询的IP地址(当前只支持ipv4)。未指定语言类型时,默认是英文

    lang

    text类型,仅支持CN、EN。指定返回结果的语言类型为中文或者英文。

  • 返回值类型:text类型。

  • 使用示例

    select ip_country('31.13.79.1');//默认返回英文
    select ip_country('31.13.79.1','EN');
    select ip_province('31.13.79.1');
    select ip_province('31.13.79.1','EN');
    select ip_city('31.13.79.1');
    select ip_city('31.13.79.1','EN');
    select ip_isp('115.239.210.27');
    select ip_isp('115.239.210.27','EN');

ip2long

  • 函数说明

    该函数主要用于将IPv4地址转换成数字格式。

  • 函数语法

    ip2long(ip)
  • 参数说明

    参数

    说明

    参数

    说明

    ip

    text类型,表示待查询的IP地址(当前只支持ipv4)。

  • 返回值类型:bigint类型。

  • 使用示例

    select ip2long('31.13.79.1');

long2ip

  • 函数说明

    该函数主要用于将数字格式转换成IPv4地址。

  • 函数语法

    long2ip(longVal)
  • 参数说明

    参数

    说明

    参数

    说明

    longVal

    text类型,表示待转换的数字。

  • 返回值类型:text类型。

  • 使用示例

    select long2ip(ip2long('31.13.79.1'));
  • 本页导读 (1)
  • 前提条件
  • 函数概述
  • 使用限制
  • ip2region
  • ip_country/ip_province/ip_city/ip_isp
  • ip2long
  • long2ip