Todos os produtos
Search
Central de documentação

Simple Log Service:Funções de IP

Última atualização: Jun 23, 2026

Este tópico descreve a sintaxe básica e exemplos das funções de IP.

O Simple Log Service é compatível com as seguintes funções de IP.

null

In Log Service analytic statements, enclose strings in single quotation marks (''). Log Service interprets unquoted values or those enclosed in double quotation marks ("") as a field name or column name. For example, 'status' is a string, whereas status or "status" refers to the log field named status.

Categoria

Função

Sintaxe

Descrição

SQL

SPL

Funções de endereço IPv4

Função ip_to_city

ip_to_city(x)

Retorna o nome em chinês da cidade do endereço IPv4 especificado.

×

ip_to_city(x, 'en')

Retorna o código de divisão administrativa da cidade do endereço IPv4 especificado.

×

Função ip_to_city_geo

ip_to_city_geo(x)

Retorna a longitude e a latitude da cidade do endereço IPv4 especificado. Cada cidade corresponde a um único par de longitude e latitude.

×

Função ip_to_country

ip_to_country(x)

Retorna o nome em chinês do país ou da região do endereço IPv4 especificado.

×

ip_to_country(x, 'en')

Retorna o código do país ou da região do endereço IPv4 especificado.

×

Função ip_to_country_code

ip_to_country_code(x)

Retorna o código do país ou da região do endereço IPv4 especificado.

O resultado retornado é o código do país ou da região.

×

Função ip_to_domain

ip_to_domain(x)

Determina se o endereço IPv4 especificado é um endereço privado ou público.

×

Função ip_to_geo

ip_to_geo(x)

Retorna a longitude e a latitude do endereço IPv4 especificado.

×

Função ip_to_provider

ip_to_provider(x)

Retorna o provedor de serviços de Internet (ISP) do endereço IPv4 especificado.

×

Função ip_to_province

ip_to_province(x)

Retorna o nome em chinês do state do endereço IPv4 especificado.

O resultado retornado é o nome em chinês do state.

×

ip_to_province(x, 'en')

Retorna o código de divisão administrativa do state do endereço IPv4 especificado.

O resultado é o código de divisão administrativa do state.

×

Funções de bloco CIDR IPv4

Função ip_prefix

ip_prefix(x, prefix_bits)

Retorna o prefixo de rede do endereço IPv4 e do comprimento de prefixo especificados.

×

Função is_prefix_subnet_of

is_prefix_subnet_of(x, y)

Determina se um bloco CIDR IPv4 é uma sub-rede de outro.

×

Função is_subnet_of

is_subnet_of(x, y)

Verifica se um endereço IPv4 está em um bloco CIDR IPv4 especificado.

×

Função ip_subnet_max

ip_subnet_max(x)

Retorna o maior endereço IP do bloco CIDR IPv4 especificado.

×

Função ip_subnet_min

ip_subnet_min(x)

Retorna o menor endereço IP do bloco CIDR IPv4 especificado.

×

Função ip_subnet_range

ip_subnet_range(x)

Retorna o intervalo de endereços IP do bloco CIDR IPv4 especificado.

×

Funções de endereço IPv6

Função ipv6_to_city

ipv6_to_city(x)

Retorna o nome em chinês da cidade do endereço IPv6 especificado.

×

Função ipv6_to_city_code

ipv6_to_city_code(x)

Retorna o código de divisão administrativa da cidade do endereço IPv6 especificado.

×

função ipv6_to_city_geo

ipv6_to_city_geo(x)

Retorna a longitude e a latitude da cidade do endereço IPv6 especificado.

×

Função ipv6_to_country

ipv6_to_country(x)

Retorna o nome em chinês do país ou da região do endereço IPv6 especificado.

×

Função ipv6_to_country_code

ipv6_to_country_code(x)

Retorna o código do país ou da região do endereço IPv6 especificado.

×

Função ipv6_to_domain

ipv6_to_domain(x)

Determina se o endereço IPv6 especificado é um endereço privado ou público.

×

Função ipv6_to_provider

ipv6_to_provider(x)

Retorna o provedor de serviços de Internet (ISP) do endereço IPv6 especificado.

×

Função ipv6_to_province

ipv6_to_province(x)

Retorna o nome em chinês da província do endereço IPv6 especificado.

×

Função ipv6_to_province_code

ipv6_to_province_code(x)

Retorna o código de divisão administrativa da província do endereço IPv6 especificado.

×

Função ip_to_city

A função ip_to_city retorna a cidade de um endereço IPv4 especificado.

Syntax

  • Retorna o nome em chinês de uma cidade.

    ip_to_city(x)
  • Retorna o código de divisão administrativa de uma cidade.

    ip_to_city(x,'en')

Parameters

Parâmetro

Descrição

x

Um endereço IPv4.

Return value type

varchar

Examples

Este exemplo calcula o tempo médio de solicitação, o tempo máximo de solicitação e o ID da solicitação associado ao tempo máximo para cada cidade.

  • Instrução de consulta e análise

    * |
    SELECT
      AVG(request_time) AS avg_request_time,
      MAX(request_time) AS max_request_time,
      MAX_BY(requestId, request_time) AS requestId,
      ip_to_city(client_ip) AS city
    GROUP BY
      city
  • A consulta retorna três registros: Tianjin (avg_request_time: 44,85, max_request_time: 80,0, requestId: i-02); Lijiang (avg_request_time: 46,47, max_request_time: 80,0, requestId: i-01); e Hegang (avg_request_time: 43,87, max_request_time: 80,0, requestId: i-01).

Função ip_to_city_geo

A função ip_to_city_geo retorna a longitude e a latitude da cidade de um endereço IPv4 especificado.

Syntax

ip_to_city_geo(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv4.

Return value type

Uma string varchar no formato latitude,longitude.

Examples

Obtenha a longitude e a latitude de endereços IPv4 para mapear a distribuição de clientes.

  • Instrução de consulta

    * |
    SELECT
      count(*) AS PV,
      ip_to_city_geo(client_ip) AS geo
    GROUP BY
      geo
    ORDER BY
      PV DESC
  • A consulta retorna two rows. The first row has a PV of 9113 e a geo de 39,9288, 116,389 (Pequim). A segunda linha tem um PV of 5784 e a geo de 31,2222, 121,458060 (Xangai).

Função ip_to_country

A função ip_to_country retorna o país ou a região de um endereço IPv4 especificado.

Syntax

  • Retorna o nome do país ou da região em chinês.

    ip_to_country(x)
  • Retorna o código do país ou da região.

    ip_to_country(x,'en')

Parameters

Parâmetro

Descrição

x

Um endereço IPv4.

Return value type

varchar

Examples

Este exemplo calcula o tempo médio de solicitação, o tempo máximo de solicitação e o ID da solicitação correspondente ao tempo máximo para cada país ou região.

  • Instrução de consulta

    * |
    SELECT
      AVG(request_time) AS avg_request_time,
      MAX(request_time) AS max_request_time,
      MAX_BY(requestId, request_time) AS requestId,
      ip_to_country(client_ip) AS country
    GROUP BY
      country
  • Os resultados da consulta e análise mostram três registros: Hong Kong (China) (avg_request_time: 45,27, max_request_time: 80,0, requestId: i-02); Austrália (avg_request_time: 47,08, max_request_time: 80,0, requestId: i-01); e Índia (avg_request_time: 39,39, max_request_time: 77,0, requestId: i-01).

Função ip_to_country_code

A função ip_to_country_code retorna o código do país ou da região de um endereço IPv4 especificado.

Syntax

ip_to_country_code(x)

Parameters

Parâmetro

Descrição

x

O endereço IPv4.

Return value type

varchar

Examples

A consulta a seguir calcula o tempo médio de solicitação, o tempo máximo de solicitação e o ID da solicitação associado ao tempo máximo de solicitação para cada país ou região.

  • Consulta

    * |
    SELECT
      AVG(request_time) AS avg_request_time,
      MAX(request_time) AS max_request_time,
      MAX_BY(requestId, request_time) AS requestId,
      ip_to_country_code(client_ip) AS country
    GROUP BY
      country
  • A consulta retorna duas linhas de resultados. Na primeira linha, avg_request_time is 45.012, max_request_time é 80.0, requestId é i-01, e country é MO. Na segunda linha, avg_request_time is 46.286, max_request_time é 77.0, requestId é i-02, e country é GB.

Função ip_to_domain

A função ip_to_domain determina se um endereço IPv4 é um endereço privado ou público.

Syntax

ip_to_domain(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv4.

Return value type

Retorna uma string varchar com um dos seguintes valores:

  • 'intranet': indica um endereço privado.

  • 'internet': indica um endereço público.

Examples

Conte o número de solicitações que não se originam de uma rede privada.

  • Instrução de consulta

    * |
    SELECT
      count(*) AS PV
    where
      ip_to_domain(client_ip) != 'intranet'
  • Resultados da consulta e análise: The PV é 941786.

Função ip_to_geo

The Função ip_to_geo returns the latitude e longitude de a specified IPv4 address. Para mais informações sobre funções geográficas, consulte Funções geográficas.

Syntax

ip_to_geo(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv4.

Return value type

Uma string varchar no formato latitude,longitude.

Examples

Este exemplo recupera a latitude e a longitude de endereços IPv4 para identificar a distribuição de clientes.

  • Instrução de consulta

    * |
    SELECT
      count(*) AS PV,
      ip_to_geo(client_ip) AS geo
    GROUP BY
      geo
    ORDER BY
      PV DESC
  • Os resultados da consulta e análise contain two sample records: one with a PV of 5122 e a geo of 39.1423,117.173, e the other with a PV of 4960 e a geo of 29.5569,106.553.

Função ip_to_provider

A função ip_to_provider retorna o ISP de um endereço IPv4.

Syntax

ip_to_provider(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv4.

Return value type

Uma string varchar.

Examples

Calcule o tempo médio de solicitação por ISP.

  • Instrução de consulta

    * |
    SELECT
      avg(request_time) AS avg_request_time,
      ip_to_provider(client_ip) AS provider
    GROUP BY
      provider
    ORDER BY
      avg_request_time
  • A consulta retorna three rows. The avg_request_time values are 18.0, 25.0, e 26.0, with corresponding provider values of Reliance Communications, CAT, e Wangsu.

Função ip_to_province

The ip_to_province function returns the state de um endereço IPv4 especificado.

Syntax

  • Retorna o nome em chinês do state.

    ip_to_province(x)
  • Retorna o nome em inglês do state.

    ip_to_province(x,'en')

Parameters

Parâmetro

Descrição

x

O endereço IPv4 a ser consultado.

Return value type

VARCHAR

Examples

Calcule as 10 principais estados pelo total de solicitações.

  • Instrução de consulta

    * |
    SELECT
      count(*) as PV,
      ip_to_province(client_ip) AS province
    GROUP BY
      province
    ORDER BY
      PV desc
    LIMIT
      10

    Para filtrar as solicitações de intranet dos resultados, use a instrução de consulta a seguir.

    * |
    SELECT
      count(*) AS PV,
      ip_to_province(client_ip) AS province
    WHERE
      ip_to_domain(client_ip) != 'intranet'
    GROUP BY
      province
    ORDER BY
      PV DESC
    LIMIT
      10
  • Resultados da consulta: Running the first query statement returns a table with the PV e province. Os resultados são classificados por PV em ordem decrescente. Nos resultados de amostra, a província de Guangdong ocupa o primeiro lugar com um PV de 368. Se um endereço IP não puder ser resolvido para uma província, o valor na coluna province fica vazio.

Função ip_prefix

A função ip_prefix retorna o prefixo de sub-rede de um endereço IPv4 especificado em notação CIDR, como 192.168.1.0/24.

Syntax

ip_prefix(x, prefix_bits)

Parameters

Parâmetro

Descrição

x

O endereço IPv4.

prefix_bits

O comprimento do prefixo.

Return value type

varchar

Examples

Obtenha o prefixo de sub-rede dos endereços IP no campo client_ip.

  • Instrução de consulta

    * | SELECT ip_prefix(client_ip,24) AS client_ip
  • A consulta retorna a client_ip contendo prefixos de sub-rede /24, como xx.xx.xx.0/24.

Função is_prefix_subnet_of

A função is_prefix_subnet_of verifica se um bloco CIDR IPv4 é uma sub-rede de outro.

Syntax

is_prefix_subnet_of(x, y)

Parameters

Parâmetro

Descrição

x

O bloco CIDR IPv4 pai.

y

O bloco CIDR IPv4 a ser testado como sub-rede em potencial.

Return value type

Retorna um valor booleano: true se y de uma sub-rede de x, e false caso contrário.

Examples

Este exemplo verifica se o bloco CIDR derivado do campo client_ip é uma sub-rede de 192.168.0.1/24.

  • Instrução de consulta

    * | SELECT is_prefix_subnet_of('192.168.0.1/24',concat(client_ip,'/24'))
  • Os resultados da consulta e análise contain a _col0 com duas linhas, ambas com o valor false. O valor false indica que o client_ip do log correspondente não está na sub-rede 192.168.0.1/24.

Função is_subnet_of

The is_subnet_of function determina se um endereço IPv4 está dentro de um bloco CIDR.

Syntax

is_subnet_of(x, y)

Parameters

Parâmetro

Descrição

x

O bloco CIDR IPv4.

y

O endereço IPv4.

Return value type

Booleano

Examples

Verifique se o valor do campo client_ip está no bloco CIDR 192.168.0.1/24.

  • Instrução de consulta

    * | SELECT is_subnet_of('192.168.0.1/24',client_ip)

Função ip_subnet_min

A função ip_subnet_min retorna o menor endereço IP de um bloco CIDR IPv4.

Syntax

ip_subnet_min(x)

Parameters

Parâmetro

Descrição

x

Um bloco CIDR IPv4.

Return value type

varchar

Examples

Este exemplo retorna o menor endereço IP no bloco CIDR que contém o endereço IP do campo client_ip.

  • Instrução de consulta

    * | SELECT ip_subnet_min(concat(client_ip,'/24'))
  • A consulta retorna a single row with a column named _col0. Essa coluna mostra o menor endereço IP no bloco CIDR /24 que contém o client_ip. Parte do conteúdo está mascarada.

Função ip_subnet_max

A função ip_subnet_max retorna o maior endereço IP de um bloco CIDR IPv4.

Syntax

ip_subnet_max(x)

Parameters

Parâmetro

Descrição

x

Um bloco CIDR IPv4.

Return value type

varchar

Examples

Calculates the largest IP address of the /24 subnet de the IP address in the client_ip.

  • Instrução de consulta e análise

    * | SELECT ip_subnet_max(concat(client_ip,'/24'))
  • The _col0 exibe o resultado da função ip_subnet_max: o maior endereço IP da sub-rede /24. Parte do conteúdo está oculta.

ip_subnet_range

A função ip_subnet_range retorna os endereços inicial e final de um bloco CIDR IPv4.

Syntax

ip_subnet_range(x)

Parameters

Parâmetro

Descrição

x

Um bloco CIDR IPv4.

Return value type

Um array JSON.

Examples

Recupere o intervalo de endereços do bloco CIDR IPv4 que contém o endereço IP no campo client_ip.

  • Instrução de consulta e análise

    * | SELECT ip_subnet_range(concat(client_ip,'/24'))
  • Os resultados da consulta e análise contain the _col0. Essa coluna contém um array JSON, como ["xxx.xxx.xxx.0","xxx.xxx.xxx.255"], which represents the start e end addresses of the IPv4 CIDR block.

Função ipv6_to_city

A função ipv6_to_city retorna a cidade de um endereço IPv6 especificado.

Syntax

ipv6_to_city(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv6.

Return value type

varchar

Examples

Conte solicitações por cidade.

  • Instrução de consulta e análise

    * |
    SELECT
      ipv6_to_city(ipv6Address) AS city,
      count(*) AS count
    GROUP BY
      city
  • Os resultados da consulta e análise list each city e its record count, such as Anyang (18), Baoding (42), Baoshan (3), e Binzhou (9).

Função ipv6_to_city_code

A função ipv6_to_city_code retorna o código de divisão administrativa de uma cidade para um endereço IPv6 especificado.

Syntax

ipv6_to_city_code(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv6.

Return value type

varchar

Examples

Este exemplo recupera o código de divisão administrativa de uma cidade para um endereço IPv6.

  • Instrução de consulta

    * |
    SELECT
      ipv6Address,
      ipv6_to_city_code(ipv6Address) AS cityCode
    WHERE
      cityCode <> ''
  • Resultados da consulta e análise: The ipv6_to_city_code converte o endereço IPv6, retornando um cityCode de 350100.

Função ipv6_to_city_geo

The ipv6_to_city_geo function returns the longitude and latitude de an IPv6 address.

Syntax

ipv6_to_city_geo(x)

Parameters

Parâmetro

Descrição

x

An IPv6 address.

Return value type

A função retorna uma string varchar no formato longitude,latitude.

Examples

Este exemplo mostra como obter a longitude and latitude de IPv6 addresses para analisar client distribuição.

  • Instrução de consulta

    * |
    SELECT
      ipv6_to_city_geo(ipv6Address) AS geo,
      count(*) AS PV
    GROUP BY
      geo
    ORDER BY
      PV DESC
  • A consulta retorna the geo e PV columns. Sample results, presented as (geo, PV) pairs, include: (133.397995,-24.9121, 6270), (10.45415,51.164181, 3813), (-2.23001,54.314072, 2055), e (121.5654268,25.0329636, 1893).

Função ipv6_to_country

A função ipv6_to_country identifica o país ou a região de um endereço IPv6 especificado.

Syntax

ipv6_to_country(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv6.

Return value type

varchar

Examples

Calcule os 10 principais países ou regiões pelo número total de solicitações.

  • Instrução de consulta

    * |
    SELECT
      count(*) AS PV,
      ipv6_to_country(ipv6Address) AS country
    WHERE
      country <> ''
    GROUP BY
      country
    ORDER BY
      PV DESC
    LIMIT
      10
  • Resultados da consulta e análise: A consulta retorna 10 records. For example: Germany (3813), Taiwan (2337), the United Kingdom (2055), Sweden (1119), the Netherlands (1014), the United States (942), Russia (930), e Malaysia (867)...

Função ipv6_to_country_code

A função ipv6_to_country_code retorna o código do país ou da região de um endereço IPv6.

Syntax

ipv6_to_country_code(x)

Parameters

Parâmetro

Descrição

x

O endereço IPv6.

Return value type

Retorna um valor varchar.

Examples

Este exemplo obtém o código do país ou da região de um endereço IPv6.

  • Instrução de consulta

    * |
    SELECT
      ipv6Address,
      ipv6_to_country_code(ipv6Address) AS code
    WHERE
      cityCode <> ''
  • Nos resultados da consulta, a função ipv6_to_country_code function resolves an IPv6 address to its country code, de example, CN de an address in China.

Função ipv6_to_domain

A função ipv6_to_domain classifica um endereço IPv6 como endereço privado ou endereço público.

Syntax

ipv6_to_domain(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv6.

Return value type

varchar. A função retorna um dos seguintes valores:

  • intranet: um endereço privado.

  • internet: um endereço público.

Examples

Este exemplo conta solicitações de redes privadas e redes públicas.

  • Instrução de consulta e análise

    * |
    SELECT
      ipv6_to_domain(ipv6Address) AS domain,
      count(*) AS count
    GROUP BY
      domain
  • A consulta retorna a table with two columns: domain e count. In this example, the count de intranet is 9 e de internet é 38.067.

Função ipv6_to_provider

The ipv6_to_provider function returns the ISP de a specified IPv6 address.

Syntax

ipv6_to_provider(x)

Parameters

Parâmetro

Descrição

x

O endereço IPv6.

Return value type

varchar

Examples

Este exemplo identifica os 10 principais ISPs pelo total de solicitações.

  • Instrução de consulta e análise

    * |
    SELECT
      ipv6_to_provider(ipv6Address) AS provider,
      count(*) AS count
    GROUP BY
      provider
    ORDER BY
      count DESC
    LIMIT
      10
  • Resultados da consulta e análise: A consulta retorna a list of ISPs sorted by request count in descending order. The top 10 results include entries such as edu.tw (2235), colt.net (1512), maxis.com.my (780), citictel-cpc.com (453), CSTNET (348), ntt.com (261), att.com (258), e libertyglobal.com (174).

Função ipv6_to_province

A função ipv6_to_province retorna a província de um endereço IPv6.

Syntax

ipv6_to_province(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv6.

Return value type

varchar

Examples

Este exemplo identifica as 10 principais províncias pelo número total de solicitações.

  • Instrução de consulta e análise

    * |
    SELECT
      count(*) AS PV,
      ipv6_to_province(ipv6Address) AS province
    WHERE
      province <> ''
    GROUP BY
      province
    ORDER BY
      PV DESC
    LIMIT
      10
  • Resultados da consulta e análise: A consulta retorna the PV e province columns, sorted by PV in descending order. Sample results include Jiangsu (564), Guangdong (558), Kuala Lumpur Federal Territory (555), Shandong (507), Henan (435), Sichuan (354), Zhejiang (336), e Anhui (312).

Função ipv6_to_province_code

The ipv6_to_province_code function returns the administrative division code of a province de a specified IPv6 address.

Syntax

ipv6_to_province_code(x)

Parameters

Parâmetro

Descrição

x

Um endereço IPv6.

Return value type

varchar

Examples

Recupere o código de divisão administrativa da província associada a um endereço IPv6.

  • Instrução de consulta

    * |
    SELECT
      ipv6Address,
      ipv6_to_province_code(ipv6Address) AS code
    WHERE
      cityCode <> ''
  • Resultados da consulta: The ipv6Address lista vários endereços IPv6 redigidos, enquanto a coluna code mostra o código de província correspondente: 350000.