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
SELECT IPv4CIDRToRange(toIPv4('192.168.5.2'), 16);┌─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
SELECT IPv4NumToString(3232235521)192.168.0.1IPv4NumToStringClassC
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
SELECT
IPv4NumToStringClassC(ClientIP) AS k,
count() AS c
FROM VALUES('ClientIP UInt32',
(toUInt32(toIPv4('83.149.9.10'))), (toUInt32(toIPv4('83.149.9.11'))), (toUInt32(toIPv4('83.149.9.12'))),
(toUInt32(toIPv4('217.118.81.5'))), (toUInt32(toIPv4('217.118.81.6'))),
(toUInt32(toIPv4('213.87.129.1'))))
GROUP BY k
ORDER BY c DESC, k┌─k──────────────┬─c─┐
│ 83.149.9.xxx │ 3 │
│ 217.118.81.xxx │ 2 │
│ 213.87.129.xxx │ 1 │
└────────────────┴───┘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
SELECT IPv4StringToNum('192.168.0.1')3232235521IPv4StringToNumOrDefault
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
SELECT
IPv4StringToNumOrDefault('127.0.0.1') AS valid,
IPv4StringToNumOrDefault('invalid') AS invalid;┌──────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
SELECT
IPv4StringToNumOrNull('127.0.0.1') AS valid,
IPv4StringToNumOrNull('invalid') AS invalid;┌──────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
SELECT IPv6NumToString(IPv4ToIPv6(IPv4StringToNum('192.168.0.1'))) AS addr;┌─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
SELECT IPv6CIDRToRange(toIPv6('2001:0db8:0000:85a3:0000:0000:ac1f:8001'), 32);┌─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
x— Dirección IPv6 en formato binario.FixedString(16)oIPv6
Valor devuelto
Devuelve la dirección IPv6 como cadena en formato de texto. String
Ejemplos
Ejemplo de uso
SELECT IPv6NumToString(toFixedString(unhex('2A0206B8000000000000000000000011'), 16)) AS addr;┌─addr─────────┐
│ 2a02:6b8::11 │
└──────────────┘Análisis de hits con IPv6
CREATE TABLE hits_all (EventDate Date, ClientIP6 FixedString(16)) ENGINE = Memory;
INSERT INTO hits_all SELECT today(), IPv6StringToNum(addr) FROM VALUES('addr String',
('2a02:2168:aaa:bbbb::2'), ('2a02:2168:aaa:bbbb::2'), ('2a02:2168:aaa:bbbb::2'),
('2a02:6b8:0:fff::ff'), ('2a02:6b8:0:fff::ff'),
('::ffff:94.26.111.111'), ('::ffff:94.26.111.111'), ('::ffff:94.26.111.111'), ('::ffff:94.26.111.111'),
('::ffff:37.143.222.4'));
-- The addresses that are not an IPv4 address mapped into the IPv6 space.
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, k
LIMIT 10┌─IPv6NumToString(k)────┬─c─┐
│ 2a02:2168:aaa:bbbb::2 │ 3 │
│ 2a02:6b8:0:fff::ff │ 2 │
└───────────────────────┴───┘Direcciones IPv4 mapeadas en IPv6
-- Without the filter, the mapped IPv4 addresses show up as well.
SELECT
IPv6NumToString(ClientIP6 AS k),
count() AS c
FROM hits_all
WHERE EventDate = today()
GROUP BY k
ORDER BY c DESC, k
LIMIT 10┌─IPv6NumToString(k)────┬─c─┐
│ ::ffff:94.26.111.111 │ 4 │
│ 2a02:2168:aaa:bbbb::2 │ 3 │
│ 2a02:6b8:0:fff::ff │ 2 │
│ ::ffff:37.143.222.4 │ 1 │
└───────────────────────┴───┘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)Alias: 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
SELECT addr, cutIPv6(IPv6StringToNum(addr), 0, 0) FROM (SELECT ['127.0.0.1', '1111::ffff'] AS addr) ARRAY JOIN addr;┌─addr───────┬─cutIPv6(IPv6StringToNum(addr), 0, 0)─┐
│ 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
SELECT
IPv6NumToString(IPv6StringToNumOrDefault('2001:db8::1')) AS valid,
IPv6NumToString(IPv6StringToNumOrDefault('invalid')) AS invalid;┌─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
SELECT
IPv6NumToString(IPv6StringToNumOrNull('2001:db8::1')) AS valid,
IPv6StringToNumOrNull('invalid') AS invalid;┌─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)oIPv6bytesToCutForIPv6— Número de bytes que se deben eliminar para IPv6.UInt8bytesToCutForIPv4— 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
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)┌─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.Stringprefix— 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
SELECT isIPAddressInRange('127.0.0.1', '127.0.0.0/8')1Dirección IPv4 fuera del rango
SELECT isIPAddressInRange('127.0.0.1', 'ffff::/16')0Dirección IPv6 fuera de rango
SELECT isIPAddressInRange('::ffff:192.168.0.1', '::ffff:192.168.0.4/128')0isIPv4String
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
SELECT addr, isIPv4String(addr)
FROM(
SELECT ['0.0.0.0', '127.0.0.1', '::ffff:127.0.0.1'] AS addr
)
ARRAY JOIN addr;┌─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
SELECT addr, isIPv6String(addr)
FROM(SELECT ['::', '1111::ffff', '::ffff:127.0.0.1', '127.0.0.1'] AS addr)
ARRAY JOIN addr;┌─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
x— Una dirección IPv4 de tipoStringoUInt8/16/32
Valor devuelto
Devuelve una dirección IPv4. IPv4
Ejemplos
Ejemplo de uso
SELECT toIPv4('171.225.130.45');┌─toIPv4('171.225.130.45')─┐
│ 171.225.130.45 │
└──────────────────────────┘Comparación con las funciones IPv4StringToNum e IPv4NumToString.
WITH
'171.225.130.45' AS IPv4_string
SELECT
hex(IPv4StringToNum(IPv4_string)),
hex(toIPv4(IPv4_string))┌─hex(IPv4StringToNum(IPv4_string))─┬─hex(toIPv4(IPv4_string))─┐
│ ABE1822D │ ABE1822D │
└───────────────────────────────────┴──────────────────────────┘Conversión a partir de un entero
SELECT toIPv4(2130706433);┌─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.Stringdefault— Opcional. Valor que se devolverá sistringno 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
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;┌─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
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
SELECT
toIPv4OrNull('192.168.1.1') AS valid_ip,
toIPv4OrNull('invalid.ip') AS invalid_ip┌─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
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
SELECT
toIPv4OrZero('192.168.1.1') AS valid_ip,
toIPv4OrZero('invalid.ip') AS invalid_ip┌─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
WITH '2001:438:ffff::407d:1bc1' AS IPv6_string
SELECT
hex(IPv6StringToNum(IPv6_string)),
hex(toIPv6(IPv6_string));┌─hex(IPv6StringToNum(IPv6_string))─┬─hex(toIPv6(IPv6_string))─────────┐
│ 20010438FFFF000000000000407D1BC1 │ 20010438FFFF000000000000407D1BC1 │
└───────────────────────────────────┴──────────────────────────────────┘Mapeo de IPv4 a IPv6
SELECT toIPv6('127.0.0.1');┌─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
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;┌─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 admitidos:
- 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 admitidos (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
SELECT
toIPv6OrNull('2001:0db8:85a3:0000:0000:8a2e:0370:7334') AS valid_ipv6,
toIPv6OrNull('invalid::ip') AS invalid_ipv6┌─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 nula (::). IPv6
Ejemplos
Ejemplo de uso
SELECT
toIPv6OrZero('2001:0db8:85a3:0000:0000:8a2e:0370:7334') AS valid_ipv6,
toIPv6OrZero('invalid::ip') AS invalid_ipv6┌─valid_ipv6───────────────────┬─invalid_ipv6─┐
│ 2001:db8:85a3::8a2e:370:7334 │ :: │
└──────────────────────────────┴──────────────┘