Saltar al contenido principal

IPv4CIDRToRange

Introducido en: v20.1.0 Toma una dirección IPv4 con la longitud de su prefijo de enrutamiento entre dominios sin clases (CIDR) y devuelve el rango de direcciones de la subred como una tupla de dos valores IPv4: la primera y la última dirección de esa subred. Para la versión IPv6, consulte IPv6CIDRToRange. Sintaxis
IPv4CIDRToRange(ipv4, cidr)
Argumentos Valor devuelto Devuelve una tupla con dos direcciones IPv4 que representan el rango de la subred. Tuple(IPv4, IPv4) Ejemplos Ejemplo 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

Introducido en: v1.1.0 Convierte un entero de 32 bits en la representación textual de su dirección IPv4 en notación decimal con puntos (formato A.B.C.D). Interpreta la entrada usando el orden de bytes big-endian. Sintaxis
IPv4NumToString(num)
Alias: INET_NTOA Argumentos
  • num — dirección IPv4 como número UInt32. UInt32
Valor devuelto Devuelve un número que representa la dirección MAC, o 0 si el formato no es válido. String Ejemplos Ejemplo de uso
Query
IPv4NumToString(3232235521)
Response
192.168.0.1

IPv4NumToStringClassC

Introducido en: v1.1.0 Convierte un entero de 32 bits en la representación en cadena de su dirección IPv4 en notación decimal con puntos (formato A.B.C.D), similar a IPv4NumToString, pero usa xxx en lugar del último octeto. Sintaxis
IPv4NumToStringClassC(num)
Argumentos
  • num — Dirección IPv4 en forma de número UInt32. UInt32
Valor devuelto Devuelve la cadena de dirección IPv4, con xxx en lugar del último octeto. String Ejemplos Ejemplo básico con agregación
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

Introducido en: v1.1.0 Convierte una cadena con una dirección IPv4 en notación decimal con puntos (formato A.B.C.D) en su correspondiente representación entera de 32 bits. (La operación inversa de IPv4NumToString). Si la dirección IPv4 tiene un formato no válido, se lanza una excepción. Sintaxis
IPv4StringToNum(string)
Alias: INET_ATON Argumentos
  • string — Cadena con la dirección IPv4. String
Valor devuelto Devuelve la dirección IPv4. UInt32 Ejemplos Ejemplo de uso
Query
IPv4StringToNum('192.168.0.1')
Response
3232235521

IPv4StringToNumOrDefault

Introducido en: v22.3.0 Convierte una cadena con una dirección IPv4 en notación decimal con puntos (formato A.B.C.D) en su correspondiente representación entera de 32 bits; si la dirección IPv4 tiene un formato no válido, devuelve 0. Sintaxis
IPv4StringToNumOrDefault(string)
Argumentos
  • string — Cadena con una dirección IPv4. String
Valor devuelto Devuelve la dirección IPv4 o 0 si no es válida. UInt32 Ejemplos Ejemplo con una dirección no válida
Query
SELECT
    IPv4StringToNumOrDefault('127.0.0.1') AS valid,
    IPv4StringToNumOrDefault('invalid') AS invalid;
Response
┌──────valid─┬─invalid─┐
│ 2130706433 │       0 │
└────────────┴─────────┘

IPv4StringToNumOrNull

Introducido en: v22.3.0 Convierte un entero de 32 bits en la representación de cadena de su dirección IPv4 en notación decimal con puntos (formato A.B.C.D), pero, si la dirección IPv4 tiene un formato no válido, devuelve NULL. Sintaxis
IPv4StringToNumOrNull(string)
Argumentos
  • string — Cadena con una dirección IPv4. String
Valor devuelto Devuelve la dirección IPv4, o NULL si no es válida. Nullable(UInt32) Ejemplos Ejemplo con una dirección no válida
Query
SELECT
IPv4StringToNumOrNull('127.0.0.1') AS valid,
IPv4StringToNumOrNull('invalid') AS invalid;
Response
┌──────valid─┬─invalid─┐
│ 2130706433 │    ᴺᵁᴸᴸ │
└────────────┴─────────┘

IPv4ToIPv6

Introducido en: v1.1.0 Interpreta un número de 32 bits (big-endian) como una dirección IPv4, que luego se interpreta como la dirección IPv6 correspondiente en formato FixedString(16). Sintaxis
IPv4ToIPv6(x)
Argumentos
  • x — dirección IPv4. UInt32
Valor devuelto Devuelve una dirección IPv6 en formato binario. FixedString(16) Ejemplos Ejemplo de uso
Query
SELECT IPv6NumToString(IPv4ToIPv6(IPv4StringToNum('192.168.0.1'))) AS addr;
Response
┌─addr───────────────┐
│ ::ffff:192.168.0.1 │
└────────────────────┘

IPv6CIDRToRange

Introducido en: v20.1.0 Toma una dirección IPv6 con la longitud de su prefijo de enrutamiento entre dominios sin clases (CIDR) y devuelve el rango de direcciones de la subred como una tupla de dos valores IPv6: la dirección más baja y la más alta de esa subred. Para la versión IPv4, consulte IPv4CIDRToRange. Sintaxis
IPv6CIDRToRange(ipv6, cidr)
Argumentos Valor devuelto Devuelve una tupla con dos direcciones IPv6 que representan el rango de la subred. Tuple(IPv6, IPv6) Ejemplos Ejemplo 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

Introducido en: v1.1.0 Convierte una dirección IPv6 del formato binario (FixedString(16)) a su representación de texto estándar. Las direcciones IPv6 con mapeo de IPv4 se muestran con el formato ::ffff:111.222.33.44. Sintaxis
IPv6NumToString(x)
Alias: INET6_NTOA Argumentos Valor devuelto Devuelve la dirección IPv6 como cadena en formato de texto. String Ejemplos Ejemplo de uso
Query
SELECT IPv6NumToString(toFixedString(unhex('2A0206B8000000000000000000000011'), 16)) AS addr;
Response
┌─addr─────────┐
│ 2a02:6b8::11 │
└──────────────┘
Análisis de hits con IPv6
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 │
└─────────────────────────────────────────┴───────┘
Direcciones IPv4 mapeadas en 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

Introducido en: v1.1.0 Convierte una dirección IPv6 de su representación textual estándar al formato binario (FixedString(16)). Acepta direcciones IPv6 con mapeo de IPv4 en el formato ::ffff:111.222.33.44.. Si la dirección IPv6 tiene un formato no válido, se lanza una excepción. Si la cadena de entrada contiene una dirección IPv4 válida, devuelve su equivalente en IPv6. HEX puede estar en mayúsculas o minúsculas. Sintaxis
IPv6StringToNum(string)
Aliases: INET6_ATON Argumentos
  • string — Cadena con la dirección IPv6. String
Valor devuelto Devuelve la dirección IPv6 en formato binario. FixedString(16) Ejemplos Ejemplo 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

Introducido en: v22.3.0 Convierte una dirección IPv6 de su representación textual estándar al formato binario (FixedString(16)). Acepta direcciones IPv6 con mapeo de IPv4 en el formato ::ffff:111.222.33.44.. Si la dirección IPv6 tiene un formato no válido, devuelve el valor predeterminado ::. Sintaxis
IPv6StringToNumOrDefault(string)
Argumentos
  • string — Cadena con la dirección IPv6. String
Valor devuelto Dirección IPv6 en formato binario, o FixedString(16) rellenado con ceros si no es válida. FixedString(16) Ejemplos Ejemplo básico con una dirección no válida
Query
SELECT
    IPv6NumToString(IPv6StringToNumOrDefault('2001:db8::1')) AS valid,
    IPv6NumToString(IPv6StringToNumOrDefault('invalid')) AS invalid;
Response
┌─valid───────┬─invalid─┐
│ 2001:db8::1 │ ::      │
└─────────────┴─────────┘

IPv6StringToNumOrNull

Introducido en: v22.3.0 Convierte una dirección IPv6 de su representación de texto estándar a formato binario (FixedString(16)). Acepta direcciones IPv6 con mapeo de IPv4 en el formato ::ffff:111.222.33.44.. Si la dirección IPv6 tiene un formato no válido, devuelve NULL. Sintaxis
IPv6StringToNumOrNull(string)
Argumentos
  • string — Cadena con una dirección IPv6. String
Valor devuelto Devuelve la dirección IPv6 en formato binario, o NULL si no es válida. Nullable(FixedString(16)) Ejemplos Ejemplo básico con una dirección no válida
Query
SELECT
    IPv6NumToString(IPv6StringToNumOrNull('2001:db8::1')) AS valid,
    IPv6StringToNumOrNull('invalid') AS invalid;
Response
┌─valid───────┬─invalid─┐
│ 2001:db8::1 │    ᴺᵁᴸᴸ │
└─────────────┴─────────┘

cutIPv6

Introducido en: v1.1.0 Acepta un valor FixedString(16) que contiene la dirección IPv6 en formato binario. Devuelve una cadena que contiene la dirección, con el número especificado de bytes eliminados, en formato de texto. Sintaxis
cutIPv6(x, bytesToCutForIPv6, bytesToCutForIPv4)
Argumentos
  • x — Dirección IPv6 en formato binario. FixedString(16) o IPv6
  • bytesToCutForIPv6 — Número de bytes que se deben eliminar para IPv6. UInt8
  • bytesToCutForIPv4 — Número de bytes que se deben eliminar para IPv4. UInt8
Valor devuelto Devuelve una cadena que contiene la dirección IPv6 en formato de texto con los bytes especificados eliminados. String Ejemplos Ejemplo 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

Introducido en: v21.4.0 Determina si una dirección IP está incluida en una red representada en notación enrutamiento entre dominios sin clases (CIDR). Esta función acepta direcciones IPv4 e IPv6 (y redes) representadas como cadenas. Devuelve 0 si la versión IP de la dirección y la del CIDR no coinciden. Sintaxis
isIPAddressInRange(address, prefix)
Argumentos
  • address — Una dirección IPv4 o IPv6. String
  • prefix — Un prefijo de red IPv4 o IPv6 en formato CIDR. String
Valor devuelto Devuelve 1 si la versión IP de la dirección y el CIDR coinciden; de lo contrario, 0. UInt8 Ejemplos Dirección IPv4 dentro del rango
Query
SELECT isIPAddressInRange('127.0.0.1', '127.0.0.0/8')
Response
1
Dirección IPv4 fuera del rango
Query
SELECT isIPAddressInRange('127.0.0.1', 'ffff::/16')
Response
0
Dirección IPv6 fuera de rango
Query
SELECT isIPAddressInRange('::ffff:192.168.0.1', '::ffff:192.168.0.4/128')
Response
0

isIPv4String

Introducido en: v21.1.0 Determina si la cadena de entrada es una dirección IPv4. Para la versión para IPv6, consulta isIPv6String. Sintaxis
isIPv4String(string)
Argumentos
  • string — cadena con la dirección IP que se va a comprobar. String
Valor devuelto Devuelve 1 si string es una dirección IPv4; de lo contrario, 0. UInt8 Ejemplos Ejemplo 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

Introducido en: v21.1.0 Determina si la cadena de entrada es una dirección IPv6. Para la versión para IPv4, consulte isIPv4String. Sintaxis
isIPv6String(string)
Argumentos
  • string — Cadena con la dirección IP que se va a comprobar. String
Valor devuelto Devuelve 1 si string es una dirección IPv6; de lo contrario, 0. UInt8 Ejemplos Ejemplo 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

Introducido en: v20.1.0 Convierte una cadena o una dirección IPv4 en formato UInt32 al tipo IPv4. Es similar a las funciones IPv4StringToNum y IPv4NumToString, pero admite como argumentos de entrada tanto cadenas como tipos de datos enteros sin signo. Sintaxis
toIPv4(x)
Argumentos Valor devuelto Devuelve una dirección IPv4. IPv4 Ejemplos Ejemplo de uso
Query
SELECT toIPv4('171.225.130.45');
Response
┌─toIPv4('171.225.130.45')─┐
│ 171.225.130.45           │
└──────────────────────────┘
Comparación con las funciones 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                 │
└───────────────────────────────────┴──────────────────────────┘
Conversión a partir de un entero
Query
SELECT toIPv4(2130706433);
Response
┌─toIPv4(2130706433)─┐
│ 127.0.0.1          │
└────────────────────┘

toIPv4OrDefault

Introducido en: v22.3.0 Convierte una cadena o una dirección IPv4 en formato UInt32 al tipo IPv4. Si la dirección IPv4 tiene un formato no válido, devuelve 0.0.0.0 (IPv4 0) o el valor predeterminado de IPv4 especificado. Sintaxis
toIPv4OrDefault(string[, default])
Argumentos
  • string — Cadena con la dirección IP que se va a convertir. String
  • default — Opcional. Valor que se devolverá si string no es una dirección IPv4 válida. IPv4
Valor devuelto Devuelve la dirección IPv4 obtenida a partir de la cadena, o el valor predeterminado si la conversión falla. IPv4 Ejemplos Cadenas IPv4 válidas y no vá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

Introducido en: v22.3.0 Convierte un valor de entrada en un valor de tipo IPv4, pero devuelve NULL en caso de error. Como toIPv4, pero devuelve NULL en lugar de lanzar una excepción ante errores de conversión. Argumentos admitidos:
  • Representaciones en cadena de direcciones IPv4 en notación decimal con puntos.
  • Representaciones enteras de direcciones IPv4.
Argumentos no admitidos (devuelven NULL):
  • Formatos de direcciones IP no válidos.
  • Direcciones IPv6.
  • Valores fuera de rango.
  • Direcciones malformadas.
Sintaxis
toIPv4OrNull(x)
Argumentos
  • x — Una dirección IPv4 representada como cadena o entero. String o Integer
Valor devuelto Devuelve una dirección IPv4 si la operación se realiza correctamente; de lo contrario, NULL. IPv4 o NULL Ejemplos Ejemplo 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

Introducido en: v23.1.0 Convierte un valor de entrada en un valor de tipo IPv4, pero devuelve la dirección IPv4 nula en caso de error. Como toIPv4, pero devuelve la dirección IPv4 nula (0.0.0.0) en lugar de lanzar una excepción cuando se producen errores de conversión. Argumentos admitidos:
  • Representaciones en cadena de direcciones IPv4 en notación decimal con puntos.
  • Representaciones enteras de direcciones IPv4.
Argumentos no admitidos (devuelven una dirección IPv4 nula):
  • Formatos de dirección IP no válidos.
  • Direcciones IPv6.
  • Valores fuera de rango.
Sintaxis
toIPv4OrZero(x)
Argumentos
  • x — Una representación en forma de cadena o de entero de una dirección IPv4. String o Integer
Valor devuelto Devuelve una dirección IPv4 si la conversión se realiza correctamente; en caso contrario, devuelve la dirección IPv4 cero (0.0.0.0). IPv4 Ejemplos Ejemplo 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

Introducido en: v20.1.0 Convierte una cadena o una dirección IPv6 en formato UInt128 al tipo IPv6. En el caso de las cadenas, si la dirección IPv6 tiene un formato no válido, devuelve un valor vacío. Es similar a las funciones IPv6StringToNum y IPv6NumToString, que convierten direcciones IPv6 a y desde formato binario (es decir, FixedString(16)). Si la cadena de entrada contiene una dirección IPv4 válida, se devuelve su equivalente en IPv6. Sintaxis
toIPv6(x)
Argumentos Valor devuelto Devuelve una dirección IPv6. IPv6 Ejemplos Ejemplo 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 │
└───────────────────────────────────┴──────────────────────────────────┘
Mapeo de IPv4 a IPv6
Query
SELECT toIPv6('127.0.0.1');
Response
┌─toIPv6('127.0.0.1')─┐
│ ::ffff:127.0.0.1    │
└─────────────────────┘

toIPv6OrDefault

Introducido en: v22.3.0 Convierte una cadena o una dirección IPv6 en formato UInt128 al tipo IPv6. Si la dirección IPv6 tiene un formato no válido, devuelve :: (IPv6 0) o el valor predeterminado de IPv6 proporcionado. Sintaxis
toIPv6OrDefault(string[, default])
Argumentos
  • string — Cadena con la dirección IP que se va a convertir. - default — Opcional. Valor que se devolverá si la cadena tiene un formato no válido.
Valor devuelto Devuelve la dirección IPv6; en caso contrario, :: o el valor predeterminado opcional proporcionado si el argumento string tiene un formato no válido. IPv6 Ejemplos Cadenas IPv6 válidas y no vá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

Introducido en: v22.3.0 Convierte un valor de entrada en un valor de tipo IPv6, pero devuelve NULL en caso de error. Igual que toIPv6, pero devuelve NULL en lugar de generar una excepción cuando se producen errores de conversión. Argumentos compatibles:
  • Representaciones en cadena de direcciones IPv6 en notación estándar.
  • Representaciones en cadena de direcciones IPv4 (convertidas en direcciones IPv6 con mapeo de IPv4).
  • Representaciones binarias de direcciones IPv6.
Argumentos no compatibles (devuelven NULL):
  • Formatos de direcciones IP no válidos.
  • Direcciones IPv6 mal formadas.
  • Valores fuera de rango.
  • Notación no válida.
Sintaxis
toIPv6OrNull(x)
Argumentos
  • x — Una representación textual de una dirección IPv6 o IPv4. String
Valor devuelto Devuelve una dirección IPv6 si la conversión se realiza correctamente; de lo contrario, NULL. IPv6 o NULL Ejemplos Ejemplo 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

Introducido en: v23.1.0 Convierte un valor de entrada en un valor de tipo IPv6, pero devuelve la dirección IPv6 nula en caso de error. Es como toIPv6, pero devuelve la dirección IPv6 nula (::) en lugar de lanzar una excepción cuando se producen errores de conversión. Argumentos admitidos:
  • Representaciones en cadena de direcciones IPv6 en notación estándar.
  • Representaciones en cadena de direcciones IPv4 (convertidas a IPv6 con mapeo de IPv4).
  • Representaciones binarias de direcciones IPv6.
Argumentos no admitidos (devuelven la dirección IPv6 nula):
  • Formatos de dirección IP no válidos.
  • Direcciones IPv6 mal formadas.
  • Valores fuera de rango.
Sintaxis
toIPv6OrZero(x)
Argumentos
  • x — Una representación en cadena de una dirección IPv6 o IPv4. String
Valor devuelto Devuelve una dirección IPv6 si la conversión se realiza correctamente; de lo contrario, devuelve la dirección IPv6 cero (::). IPv6 Ejemplos Ejemplo 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 modificación el 10 de junio de 2026