Pular para o conteúdo principal

IPv4CIDRToRange

Introduzido em: v20.1.0 Recebe um endereço IPv4 com o comprimento do prefixo CIDR (Classless Inter-Domain Routing) e retorna o intervalo de endereços da sub-rede como uma tupla com dois valores IPv4: o primeiro e o último endereço dessa sub-rede. Para a versão IPv6, consulte IPv6CIDRToRange. Sintaxe
IPv4CIDRToRange(ipv4, cidr)
Argumentos Valor retornado Retorna uma tupla com dois endereços IPv4 que representam o intervalo da sub-rede. Tuple(IPv4, IPv4) Exemplos Exemplo de uso
Query
SELECT IPv4CIDRToRange(toIPv4('192.168.5.2'), 16);
Response
┌─IPv4CIDRToRange(toIPv4('192.168.5.2'), 16)─┐
│ ('192.168.0.0','192.168.255.255')          │
└────────────────────────────────────────────┘

IPv4NumToString

Introduzido em: v1.1.0 Converte um inteiro de 32 bits em sua representação textual de endereço IPv4 na notação decimal pontuada (formato A.B.C.D). Interpreta a entrada usando a ordem de bytes big-endian. Sintaxe
IPv4NumToString(num)
Aliases: INET_NTOA Argumentos
  • num — endereço IPv4 como um número UInt32. UInt32
Valor retornado Retorna um número que representa o endereço MAC ou 0 se o formato for inválido. String Exemplos Exemplo de uso
Query
IPv4NumToString(3232235521)
Response
192.168.0.1

IPv4NumToStringClassC

Introduzido em: v1.1.0 Converte um inteiro de 32 bits em sua representação textual de endereço IPv4 na notação decimal pontuada (formato A.B.C.D), semelhante a IPv4NumToString, mas usando xxx em vez do último octeto. Sintaxe
IPv4NumToStringClassC(num)
Argumentos
  • num — endereço IPv4 como um número UInt32. UInt32
Valor retornado Retorna a string do endereço IPv4 com xxx substituindo o último octeto. String Exemplos Exemplo básico com agregação
Query
SELECT
    IPv4NumToStringClassC(ClientIP) AS k,
    count() AS c
FROM test.hits
GROUP BY k
ORDER BY c DESC
LIMIT 10
Response
┌─k──────────────┬─────c─┐
│ 83.149.9.xxx   │ 26238 │
│ 217.118.81.xxx │ 26074 │
│ 213.87.129.xxx │ 25481 │
│ 83.149.8.xxx   │ 24984 │
│ 217.118.83.xxx │ 22797 │
│ 78.25.120.xxx  │ 22354 │
│ 213.87.131.xxx │ 21285 │
│ 78.25.121.xxx  │ 20887 │
│ 188.162.65.xxx │ 19694 │
│ 83.149.48.xxx  │ 17406 │
└────────────────┴───────┘

IPv4StringToNum

Introduzido em: v1.1.0 Converte uma string com um endereço IPv4 em notação decimal pontuada (formato A.B.C.D) para sua representação correspondente como um inteiro de 32 bits. (O inverso de IPv4NumToString). Se o endereço IPv4 tiver um formato inválido, uma exceção será lançada. Sintaxe
IPv4StringToNum(string)
Aliases: INET_ATON Argumentos
  • string — Endereço IPv4 em formato de string. String
Valor retornado Retorna o endereço IPv4. UInt32 Exemplos Exemplo de uso
Query
IPv4StringToNum('192.168.0.1')
Response
3232235521

IPv4StringToNumOrDefault

Introduzido em: v22.3.0 Converte uma string com um endereço IPv4 em notação decimal pontuada (formato A.B.C.D) na representação inteira correspondente de 32 bits; porém, se o endereço IPv4 tiver um formato inválido, retorna 0. Sintaxe
IPv4StringToNumOrDefault(string)
Argumentos
  • string — Endereço IPv4 em formato de string. String
Valor retornado Retorna o endereço IPv4 ou 0 se ele for inválido. UInt32 Exemplos Exemplo com endereço inválido
Query
SELECT
    IPv4StringToNumOrDefault('127.0.0.1') AS valid,
    IPv4StringToNumOrDefault('invalid') AS invalid;
Response
┌──────valid─┬─invalid─┐
│ 2130706433 │       0 │
└────────────┴─────────┘

IPv4StringToNumOrNull

Introduzido em: v22.3.0 Converte um inteiro de 32 bits em sua representação textual de endereço IPv4 na notação decimal pontuada (formato A.B.C.D), mas, se o endereço IPv4 tiver um formato inválido, retorna NULL. Sintaxe
IPv4StringToNumOrNull(string)
Argumentos
  • string — Endereço IPv4 em formato de string. String
Valor retornado Retorna o endereço IPv4 ou NULL se ele for inválido. Nullable(UInt32) Exemplos Exemplo com endereço inválido
Query
SELECT
IPv4StringToNumOrNull('127.0.0.1') AS valid,
IPv4StringToNumOrNull('invalid') AS invalid;
Response
┌──────valid─┬─invalid─┐
│ 2130706433 │    ᴺᵁᴸᴸ │
└────────────┴─────────┘

IPv4ToIPv6

Introduzido em: v1.1.0 Interpreta um número de 32 bits (big-endian) como um endereço IPv4, que depois é interpretado como o endereço IPv6 correspondente no formato FixedString(16). Sintaxe
IPv4ToIPv6(x)
Argumentos
  • x — Endereço IPv4. UInt32
Valor retornado Retorna um endereço IPv6 em formato binário. FixedString(16) Exemplos Exemplo de uso
Query
SELECT IPv6NumToString(IPv4ToIPv6(IPv4StringToNum('192.168.0.1'))) AS addr;
Response
┌─addr───────────────┐
│ ::ffff:192.168.0.1 │
└────────────────────┘

IPv6CIDRToRange

Introduzido em: v20.1.0 Recebe um endereço IPv6 e o comprimento do prefixo CIDR (Classless Inter-Domain Routing) e retorna o intervalo de endereços da sub-rede como uma tupla de dois valores IPv6: o menor e o maior endereço dessa sub-rede. Para a versão IPv4, consulte IPv4CIDRToRange. Sintaxe
IPv6CIDRToRange(ipv6, cidr)
Argumentos Valor retornado Retorna uma tupla com dois endereços IPv6 que representam o intervalo da sub-rede. Tuple(IPv6, IPv6) Exemplos Exemplo de uso
Query
SELECT IPv6CIDRToRange(toIPv6('2001:0db8:0000:85a3:0000:0000:ac1f:8001'), 32);
Response
┌─IPv6CIDRToRange(toIPv6('2001:0db8:0000:85a3:0000:0000:ac1f:8001'), 32)─┐
│ ('2001:db8::','2001:db8:ffff:ffff:ffff:ffff:ffff:ffff')                │
└────────────────────────────────────────────────────────────────────────┘

IPv6NumToString

Introduzido em: v1.1.0 Converte um endereço IPv6 do formato binário (FixedString(16)) para sua representação padrão em texto. Endereços IPv6 mapeados para IPv4 são exibidos no formato ::ffff:111.222.33.44. Sintaxe
IPv6NumToString(x)
Aliases: INET6_NTOA Argumentos Valor retornado Retorna o endereço IPv6 em formato de texto. String Exemplos Exemplo de uso
Query
SELECT IPv6NumToString(toFixedString(unhex('2A0206B8000000000000000000000011'), 16)) AS addr;
Response
┌─addr─────────┐
│ 2a02:6b8::11 │
└──────────────┘
Análise de IPv6 com a tabela hits
Query
SELECT
    IPv6NumToString(ClientIP6 AS k),
    count() AS c
FROM hits_all
WHERE EventDate = today() AND substring(ClientIP6, 1, 12) != unhex('00000000000000000000FFFF')
GROUP BY k
ORDER BY c DESC
LIMIT 10
Response
┌─IPv6NumToString(ClientIP6)──────────────┬─────c─┐
│ 2a02:2168:aaa:bbbb::2                   │ 24695 │
│ 2a02:2698:abcd:abcd:abcd:abcd:8888:5555 │ 22408 │
│ 2a02:6b8:0:fff::ff                      │ 16389 │
│ 2a01:4f8:111:6666::2                    │ 16016 │
│ 2a02:2168:888:222::1                    │ 15896 │
│ 2a01:7e00::ffff:ffff:ffff:222           │ 14774 │
│ 2a02:8109:eee:ee:eeee:eeee:eeee:eeee    │ 14443 │
│ 2a02:810b:8888:888:8888:8888:8888:8888  │ 14345 │
│ 2a02:6b8:0:444:4444:4444:4444:4444      │ 14279 │
│ 2a01:7e00::ffff:ffff:ffff:ffff          │ 13880 │
└─────────────────────────────────────────┴───────┘
Endereços IPv4 mapeados em IPv6
Query
SELECT
    IPv6NumToString(ClientIP6 AS k),
    count() AS c
FROM hits_all
WHERE EventDate = today()
GROUP BY k
ORDER BY c DESC
LIMIT 10
Response
┌─IPv6NumToString(ClientIP6)─┬──────c─┐
│ ::ffff:94.26.111.111       │ 747440 │
│ ::ffff:37.143.222.4        │ 529483 │
│ ::ffff:5.166.111.99        │ 317707 │
│ ::ffff:46.38.11.77         │ 263086 │
│ ::ffff:79.105.111.111      │ 186611 │
│ ::ffff:93.92.111.88        │ 176773 │
│ ::ffff:84.53.111.33        │ 158709 │
│ ::ffff:217.118.11.22       │ 154004 │
│ ::ffff:217.118.11.33       │ 148449 │
│ ::ffff:217.118.11.44       │ 148243 │
└────────────────────────────┴────────┘

IPv6StringToNum

Introduzido em: v1.1.0 Converte um endereço IPv6 da sua representação textual padrão para o formato binário (FixedString(16)). Aceita endereços IPv6 mapeado para IPv4 no formato ::ffff:111.222.33.44.. Se o endereço IPv6 tiver um formato inválido, uma exceção será lançada. Se a string de entrada contiver um endereço IPv4 válido, retornará seu equivalente em IPv6. HEX pode estar em letras maiúsculas ou minúsculas. Sintaxe
IPv6StringToNum(string)
Aliases: INET6_ATON Argumentos
  • string — Endereço IPv6 em formato de string. String
Valor retornado Retorna o endereço IPv6 em formato binário. FixedString(16) Exemplos Exemplo básico
Query
SELECT addr, cutIPv6(IPv6StringToNum(addr), 0, 0) FROM (SELECT ['notaddress', '127.0.0.1', '1111::ffff'] AS addr) ARRAY JOIN addr;
Response
┌─addr───────┬─cutIPv6(IPv6StringToNum(addr), 0, 0)─┐
│ notaddress │ ::                                   │
│ 127.0.0.1  │ ::ffff:127.0.0.1                     │
│ 1111::ffff │ 1111::ffff                           │
└────────────┴──────────────────────────────────────┘

IPv6StringToNumOrDefault

Introduzido na versão: v22.3.0 Converte um endereço IPv6 de sua representação textual padrão para o formato binário (FixedString(16)). Aceita endereços IPv6 mapeado para IPv4 no formato ::ffff:111.222.33.44.. Se o endereço IPv6 tiver um formato inválido, retorna o valor padrão ::. Sintaxe
IPv6StringToNumOrDefault(string)
Argumentos
  • string — Endereço IPv6 em formato de string. String
Valor retornado Endereço IPv6 em formato binário ou FixedString(16) preenchido com zeros se for inválido. FixedString(16) Exemplos Exemplo básico com endereço inválido
Query
SELECT
    IPv6NumToString(IPv6StringToNumOrDefault('2001:db8::1')) AS valid,
    IPv6NumToString(IPv6StringToNumOrDefault('invalid')) AS invalid;
Response
┌─valid───────┬─invalid─┐
│ 2001:db8::1 │ ::      │
└─────────────┴─────────┘

IPv6StringToNumOrNull

Introduzido em: v22.3.0 Converte um endereço IPv6 da sua representação textual padrão para o formato binário (FixedString(16)). Aceita endereços IPv6 mapeados para IPv4 no formato ::ffff:111.222.33.44.. Se o endereço IPv6 tiver um formato inválido, retorna NULL. Sintaxe
IPv6StringToNumOrNull(string)
Argumentos
  • string — Endereço IPv6 em formato de string. String
Valor retornado Retorna o endereço IPv6 em formato binário ou NULL se for inválido. Nullable(FixedString(16)) Exemplos Exemplo básico com endereço inválido
Query
SELECT
    IPv6NumToString(IPv6StringToNumOrNull('2001:db8::1')) AS valid,
    IPv6StringToNumOrNull('invalid') AS invalid;
Response
┌─valid───────┬─invalid─┐
│ 2001:db8::1 │    ᴺᵁᴸᴸ │
└─────────────┴─────────┘

cutIPv6

Introduzido em: v1.1.0 Aceita um valor FixedString(16) que contém o endereço IPv6 em formato binário. Retorna uma string contendo o endereço com a quantidade especificada de bytes removidos, em formato de texto. Sintaxe
cutIPv6(x, bytesToCutForIPv6, bytesToCutForIPv4)
Argumentos
  • x — Endereço IPv6 em formato binário. FixedString(16) ou IPv6
  • bytesToCutForIPv6 — Número de bytes a remover para IPv6. UInt8
  • bytesToCutForIPv4 — Número de bytes a remover para IPv4. UInt8
Valor retornado Retorna uma string que contém o endereço IPv6 em formato de texto com os bytes especificados removidos. String Exemplos Exemplo de uso
Query
WITH
    IPv6StringToNum('2001:0DB8:AC10:FE01:FEED:BABE:CAFE:F00D') AS ipv6,
    IPv4ToIPv6(IPv4StringToNum('192.168.0.1')) AS ipv4
SELECT
    cutIPv6(ipv6, 2, 0),
    cutIPv6(ipv4, 0, 2)
Response
┌─cutIPv6(ipv6, 2, 0)─────────────────┬─cutIPv6(ipv4, 0, 2)─┐
│ 2001:db8:ac10:fe01:feed:babe:cafe:0 │ ::ffff:192.168.0.0  │
└─────────────────────────────────────┴─────────────────────┘

isIPAddressInRange

Introduzido na versão: v21.4.0 Determina se um endereço IP está contido em uma rede representada na notação Classless Inter-Domain Routing (CIDR). Esta função aceita endereços IPv4 e IPv6 (e redes) representados como strings. Ela retorna 0 se a versão de IP do endereço e a do CIDR não corresponderem. Sintaxe
isIPAddressInRange(address, prefix)
Argumentos
  • address — Um endereço IPv4 ou IPv6. String
  • prefix — Um prefixo de rede IPv4 ou IPv6 em CIDR. String
Valor retornado Retorna 1 se a versão IP do endereço corresponder à do CIDR; caso contrário, 0. UInt8 Exemplos Endereço IPv4 no intervalo
Query
SELECT isIPAddressInRange('127.0.0.1', '127.0.0.0/8')
Response
1
Endereço IPv4 fora do intervalo
Query
SELECT isIPAddressInRange('127.0.0.1', 'ffff::/16')
Response
0
Endereço IPv6 fora da faixa
Query
SELECT isIPAddressInRange('::ffff:192.168.0.1', '::ffff:192.168.0.4/128')
Response
0

isIPv4String

Introduzido na versão: v21.1.0 Determina se a string de entrada é ou não um endereço IPv4. Para a versão IPv6, consulte isIPv6String. Sintaxe
isIPv4String(string)
Argumentos
  • string — texto com o endereço IP a ser verificado. String
Valor retornado Retorna 1 se string for um endereço IPv4; caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
SELECT addr, isIPv4String(addr)
FROM(
SELECT ['0.0.0.0', '127.0.0.1', '::ffff:127.0.0.1'] AS addr
)
ARRAY JOIN addr;
Response
┌─addr─────────────┬─isIPv4String(addr)─┐
│ 0.0.0.0          │                  1 │
│ 127.0.0.1        │                  1 │
│ ::ffff:127.0.0.1 │                  0 │
└──────────────────┴────────────────────┘

isIPv6String

Introduzido em: v21.1.0 Determina se a string de entrada é um endereço IPv6. Para a versão IPv4, consulte isIPv4String. Sintaxe
isIPv6String(string)
Argumentos
  • string — String com o endereço IP a ser verificado. String
Valor retornado Retorna 1 se string for um endereço IPv6; caso contrário, 0. UInt8 Exemplos Exemplo de uso
Query
SELECT addr, isIPv6String(addr)
FROM(SELECT ['::', '1111::ffff', '::ffff:127.0.0.1', '127.0.0.1'] AS addr)
ARRAY JOIN addr;
Response
┌─addr─────────────┬─isIPv6String(addr)─┐
│ ::               │                  1 │
│ 1111::ffff       │                  1 │
│ ::ffff:127.0.0.1 │                  1 │
│ 127.0.0.1        │                  0 │
└──────────────────┴────────────────────┘

toIPv4

Introduzido em: v20.1.0 Converte uma string ou um endereço IPv4 na forma UInt32 para o tipo IPv4. É semelhante às funções IPv4StringToNum e IPv4NumToString, mas aceita como argumentos de entrada tanto tipos de dados string quanto inteiros sem sinal. Sintaxe
toIPv4(x)
Argumentos Valor retornado Retorna um endereço IPv4. IPv4 Exemplos Exemplo de uso
Query
SELECT toIPv4('171.225.130.45');
Response
┌─toIPv4('171.225.130.45')─┐
│ 171.225.130.45           │
└──────────────────────────┘
Comparação com as funções IPv4StringToNum e IPv4NumToString.
Query
WITH
    '171.225.130.45' AS IPv4_string
SELECT
    hex(IPv4StringToNum(IPv4_string)),
    hex(toIPv4(IPv4_string))
Response
┌─hex(IPv4StringToNum(IPv4_string))─┬─hex(toIPv4(IPv4_string))─┐
│ ABE1822D                          │ ABE1822D                 │
└───────────────────────────────────┴──────────────────────────┘
Conversão a partir de um inteiro
Query
SELECT toIPv4(2130706433);
Response
┌─toIPv4(2130706433)─┐
│ 127.0.0.1          │
└────────────────────┘

toIPv4OrDefault

Introduzido em: v22.3.0 Converte uma string ou um valor UInt32 de um endereço IPv4 para o tipo IPv4. Se o endereço IPv4 tiver um formato inválido, retorna 0.0.0.0 (IPv4 0) ou o valor IPv4 padrão fornecido. Sintaxe
toIPv4OrDefault(string[, default])
Argumentos
  • string — String com o endereço IP a ser convertido. String
  • default — Opcional. O valor a ser retornado se string for um endereço IPv4 inválido. IPv4
Valor retornado Retorna o endereço IPv4 correspondente à string, ou o valor padrão se a conversão falhar. IPv4 Exemplos Strings IPv4 válidas e inválidas
Query
WITH
    '192.168.1.1' AS valid_IPv4_string,
    '999.999.999.999' AS invalid_IPv4_string,
    'not_an_ip' AS malformed_string
SELECT
    toIPv4OrDefault(valid_IPv4_string) AS valid,
    toIPv4OrDefault(invalid_IPv4_string) AS default_value,
    toIPv4OrDefault(malformed_string, toIPv4('8.8.8.8')) AS provided_default;
Response
┌─valid─────────┬─default_value─┬─provided_default─┐
│ 192.168.1.1   │ 0.0.0.0       │ 8.8.8.8          │
└───────────────┴───────────────┴──────────────────┘

toIPv4OrNull

Introduzido em: v22.3.0 Converte um valor de entrada em um valor do tipo IPv4, mas retorna NULL em caso de erro. Como toIPv4, mas retorna NULL em vez de lançar uma exceção em caso de erro de conversão. Argumentos suportados:
  • Representações em string de endereços IPv4 na notação decimal pontuada.
  • Representações inteiras de endereços IPv4.
Argumentos não suportados (retornam NULL):
  • Formatos de endereço IP inválidos.
  • Endereços IPv6.
  • Valores fora do intervalo.
  • Endereços malformados.
Sintaxe
toIPv4OrNull(x)
Argumentos
  • x — Uma representação de um endereço IPv4 em formato de string ou inteiro. String ou Integer
Valor retornado Retorna um endereço IPv4 em caso de sucesso; caso contrário, NULL. IPv4 ou NULL Exemplos Exemplo de uso
Query
SELECT
    toIPv4OrNull('192.168.1.1') AS valid_ip,
    toIPv4OrNull('invalid.ip') AS invalid_ip
Response
┌─valid_ip────┬─invalid_ip─┐
│ 192.168.1.1 │       ᴺᵁᴸᴸ │
└─────────────┴────────────┘

toIPv4OrZero

Introduzido em: v23.1.0 Converte um valor de entrada em um valor do tipo IPv4, mas retorna o endereço IPv4 zero em caso de erro. Semelhante a toIPv4, mas retorna o endereço IPv4 zero (0.0.0.0) em vez de lançar uma exceção em caso de erro de conversão. Argumentos compatíveis:
  • Representações de endereços IPv4 em formato String na notação decimal pontuada.
  • Representações inteiras de endereços IPv4.
Argumentos não compatíveis (retornam IPv4 zero):
  • Formatos de endereço IP inválidos.
  • Endereços IPv6.
  • Valores fora do intervalo.
Sintaxe
toIPv4OrZero(x)
Argumentos
  • x — Uma representação de um endereço IPv4 em string ou inteiro. String ou Integer
Valor retornado Retorna um endereço IPv4 em caso de sucesso; caso contrário, retorna o endereço IPv4 zero (0.0.0.0). IPv4 Exemplos Exemplo de uso
Query
SELECT
    toIPv4OrZero('192.168.1.1') AS valid_ip,
    toIPv4OrZero('invalid.ip') AS invalid_ip
Response
┌─valid_ip────┬─invalid_ip─┐
│ 192.168.1.1 │ 0.0.0.0    │
└─────────────┴────────────┘

toIPv6

Introduzido em: v20.1.0 Converte uma string ou um endereço IPv6 na forma UInt128 para o tipo IPv6. No caso de strings, se o endereço IPv6 tiver um formato inválido, retorna um valor vazio. Semelhante às funções IPv6StringToNum e IPv6NumToString, que convertem endereços IPv6 de e para o formato binário (ou seja, FixedString(16)). Se a string de entrada contiver um endereço IPv4 válido, o equivalente em IPv6 desse endereço IPv4 será retornado. Sintaxe
toIPv6(x)
Argumentos Valor retornado Retorna um endereço IPv6. IPv6 Exemplos Exemplo de uso
Query
WITH '2001:438:ffff::407d:1bc1' AS IPv6_string
SELECT
    hex(IPv6StringToNum(IPv6_string)),
    hex(toIPv6(IPv6_string));
Response
┌─hex(IPv6StringToNum(IPv6_string))─┬─hex(toIPv6(IPv6_string))─────────┐
│ 20010438FFFF000000000000407D1BC1  │ 20010438FFFF000000000000407D1BC1 │
└───────────────────────────────────┴──────────────────────────────────┘
Mapeamento de IPv4 para IPv6
Query
SELECT toIPv6('127.0.0.1');
Response
┌─toIPv6('127.0.0.1')─┐
│ ::ffff:127.0.0.1    │
└─────────────────────┘

toIPv6OrDefault

Introduzido em: v22.3.0 Converte uma string ou um endereço IPv6 no formato UInt128 para o tipo IPv6. Se o endereço IPv6 tiver um formato inválido, retorna :: (IPv6 0) ou o valor padrão de IPv6 fornecido. Sintaxe
toIPv6OrDefault(string[, default])
Argumentos
  • string — Endereço IP em formato de string a ser convertido. - default — Opcional. O valor a ser retornado se a string tiver um formato inválido.
Valor retornado Retorna o endereço IPv6; caso contrário, :: ou o valor padrão opcional fornecido se o argumento string tiver um formato inválido. IPv6 Exemplos Strings IPv6 válidas e inválidas
Query
WITH
    '2001:0db8:85a3:0000:0000:8a2e:0370:7334' AS valid_IPv6_string,
    '2001:0db8:85a3::8a2e:370g:7334' AS invalid_IPv6_string,
    'not_an_ipv6' AS malformed_string
SELECT
    toIPv6OrDefault(valid_IPv6_string) AS valid,
    toIPv6OrDefault(invalid_IPv6_string) AS default_value,
    toIPv6OrDefault(malformed_string, toIPv6('::1')) AS provided_default;
Response
┌─valid──────────────────────────────────┬─default_value─┬─provided_default─┐
│ 2001:db8:85a3::8a2e:370:7334           │ ::            │ ::1              │
└────────────────────────────────────────┴───────────────┴──────────────────┘

toIPv6OrNull

Introduzido em: v22.3.0 Converte um valor de entrada em um valor do tipo IPv6, mas retorna NULL em caso de erro. Como toIPv6, mas retorna NULL em vez de lançar uma exceção em caso de erro de conversão. Argumentos suportados:
  • Representações em string de endereços IPv6 na notação padrão.
  • Representações em string de endereços IPv4 (convertidos para IPv6 mapeado para IPv4).
  • Representações binárias de endereços IPv6.
Argumentos não suportados (retornam NULL):
  • Formatos de endereço IP inválidos.
  • Endereços IPv6 malformados.
  • Valores fora do intervalo.
  • Notação inválida.
Sintaxe
toIPv6OrNull(x)
Argumentos
  • x — Uma representação textual de um endereço IPv6 ou IPv4. String
Valor retornado Retorna um endereço IPv6 em caso de sucesso; caso contrário, NULL. IPv6 ou NULL Exemplos Exemplo de uso
Query
SELECT
    toIPv6OrNull('2001:0db8:85a3:0000:0000:8a2e:0370:7334') AS valid_ipv6,
    toIPv6OrNull('invalid::ip') AS invalid_ipv6
Response
┌─valid_ipv6──────────────────────────┬─invalid_ipv6─┐
│ 2001:db8:85a3::8a2e:370:7334        │         ᴺᵁᴸᴸ │
└─────────────────────────────────────┴──────────────┘

toIPv6OrZero

Introduzido em: v23.1.0 Converte um valor de entrada em um valor do tipo IPv6, mas retorna o endereço IPv6 zero em caso de erro. Como toIPv6, mas retorna o endereço IPv6 zero (::) em vez de lançar uma exceção em caso de erro de conversão. Argumentos aceitos:
  • Representações em string de endereços IPv6 na notação padrão.
  • Representações em string de endereços IPv4 (convertidos em IPv6 mapeado para IPv4).
  • Representações binárias de endereços IPv6.
Argumentos não aceitos (retornam IPv6 zero):
  • Formatos de endereço IP inválidos.
  • Endereços IPv6 malformados.
  • Valores fora do intervalo.
Sintaxe
toIPv6OrZero(x)
Argumentos
  • x — A representação em string de um endereço IPv6 ou IPv4. String
Valor retornado Retorna um endereço IPv6 em caso de sucesso; caso contrário, retorna o endereço IPv6 nulo (::). IPv6 Exemplos Exemplo de uso
Query
SELECT
    toIPv6OrZero('2001:0db8:85a3:0000:0000:8a2e:0370:7334') AS valid_ipv6,
    toIPv6OrZero('invalid::ip') AS invalid_ipv6
Response
┌─valid_ipv6──────────────────────────┬─invalid_ipv6─┐
│ 2001:db8:85a3::8a2e:370:7334        │ ::           │
└─────────────────────────────────────┴──────────────┘
Última modificação em 10 de junho de 2026