全部產品
Search
文件中心

Hologres:IP位址解析函數

更新時間:Feb 04, 2026

本文將會為您介紹Hologres中IP位址解析相關函數以及函數的用法。

前提條件

在使用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_isp是ip2region函數的一種簡潔用法,主要用於擷取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'));