IPv4CIDRToRange
Introduit dans : v20.1.0
Prend une adresse IPv4 et la longueur de son préfixe CIDR (Classless Inter-Domain Routing), et renvoie la plage d’adresses du sous-réseau sous la forme d’un tuple de deux valeurs IPv4 : la première et la dernière adresse de ce sous-réseau.
Pour la version IPv6, voir IPv6CIDRToRange.
Syntaxe
IPv4CIDRToRange(ipv4, cidr)Arguments
Valeur renvoyée
Renvoie un tuple contenant deux adresses IPv4 représentant la plage d’adresses du sous-réseau. Tuple(IPv4, IPv4)
Exemples
Exemple d’utilisation
SELECT IPv4CIDRToRange(toIPv4('192.168.5.2'), 16);┌─IPv4CIDRToRange(toIPv4('192.168.5.2'), 16)─┐
│ ('192.168.0.0','192.168.255.255') │
└────────────────────────────────────────────┘IPv4NumToString
Introduite dans : v1.1.0
Convertit un entier de 32 bits en sa représentation sous forme de chaîne d’adresse IPv4 en notation décimale pointée (format A.B.C.D). Interprète l’entrée selon l’ordre des octets big-endian.
Syntaxe
IPv4NumToString(num)Alias : INET_NTOA
Arguments
num— adresse IPv4 sous la forme d’un nombre UInt32.UInt32
Valeur renvoyée
Renvoie un nombre représentant l’adresse MAC, ou 0 si le format n’est pas valide. String
Exemples
Exemple d’utilisation
SELECT IPv4NumToString(3232235521)192.168.0.1IPv4NumToStringClassC
Introduit dans : v1.1.0
Convertit un entier de 32 bits en sa représentation textuelle d'adresse IPv4 en notation décimale pointée (format A.B.C.D),
similaire à IPv4NumToString, mais en utilisant xxx à la place du dernier octet.
Syntaxe
IPv4NumToStringClassC(num)Arguments
num— Adresse IPv4 représentée sous forme de nombre UInt32.UInt32
Valeur renvoyée
Renvoie la chaîne représentant l’adresse IPv4, où xxx remplace le dernier octet. String
Exemples
Exemple de base avec agrégation
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
Introduit dans : v1.1.0
Convertit une chaîne d’adresse IPv4 en notation décimale pointée (format A.B.C.D) en sa représentation entière correspondante sur 32 bits. (L’inverse de IPv4NumToString).
Si l’adresse IPv4 n’est pas dans un format valide, une exception est levée.
Syntaxe
IPv4StringToNum(string)Alias : INET_ATON
Arguments
string— chaîne contenant une adresse IPv4.String
Valeur renvoyée
Renvoie l’adresse IPv4. UInt32
Exemples
Exemple d’utilisation
SELECT IPv4StringToNum('192.168.0.1')3232235521IPv4StringToNumOrDefault
Introduit dans : v22.3.0
Convertit une chaîne d’adresse IPv4 en notation décimale pointée (format A.B.C.D) en sa représentation sous forme d’entier 32 bits correspondante. Si l’adresse IPv4 n’a pas un format valide, renvoie 0.
Syntaxe
IPv4StringToNumOrDefault(string)Arguments
string— chaîne contenant une adresse IPv4.String
Valeur renvoyée
Renvoie l’adresse IPv4, ou 0 si elle est invalide. UInt32
Exemples
Exemple avec une adresse invalide
SELECT
IPv4StringToNumOrDefault('127.0.0.1') AS valid,
IPv4StringToNumOrDefault('invalid') AS invalid;┌──────valid─┬─invalid─┐
│ 2130706433 │ 0 │
└────────────┴─────────┘IPv4StringToNumOrNull
Introduit dans : v22.3.0
Convertit un entier 32 bits en sa représentation sous forme de chaîne d’adresse IPv4 en notation décimale pointée (format A.B.C.D), mais si l’adresse IPv4 a un format invalide, renvoie NULL.
Syntaxe
IPv4StringToNumOrNull(string)Arguments
string— chaîne contenant une adresse IPv4.String
Valeur renvoyée
Renvoie l’adresse IPv4, ou NULL si elle est invalide. Nullable(UInt32)
Exemples
Exemple avec une adresse invalide
SELECT
IPv4StringToNumOrNull('127.0.0.1') AS valid,
IPv4StringToNumOrNull('invalid') AS invalid;┌──────valid─┬─invalid─┐
│ 2130706433 │ ᴺᵁᴸᴸ │
└────────────┴─────────┘IPv4ToIPv6
Introduit dans : v1.1.0
Interprète un nombre 32 bits (big endian) comme une adresse IPv4, puis l’interprète comme l’adresse IPv6 correspondante au format FixedString(16).
Syntaxe
IPv4ToIPv6(x)Arguments
x— adresse IPv4.UInt32
Valeur renvoyée
Renvoie une adresse IPv6 au format binaire. FixedString(16)
Exemples
Exemple d'utilisation
SELECT IPv6NumToString(IPv4ToIPv6(IPv4StringToNum('192.168.0.1'))) AS addr;┌─addr───────────────┐
│ ::ffff:192.168.0.1 │
└────────────────────┘IPv6CIDRToRange
Introduit dans : v20.1.0
Prend une adresse IPv6 avec la longueur de son préfixe Classless Inter-Domain Routing (CIDR) et renvoie la plage d’adresses du sous-réseau sous la forme d’un Tuple de deux valeurs IPv6 : l’adresse la plus basse et la plus haute de ce sous-réseau.
Pour la version IPv4, voir IPv4CIDRToRange.
Syntaxe
IPv6CIDRToRange(ipv6, cidr)Arguments
Valeur renvoyée
Renvoie un tuple de deux adresses IPv6 représentant la plage du sous-réseau. Tuple(IPv6, IPv6)
Exemples
Exemple d'utilisation
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
Introduit dans : v1.1.0
Convertit une adresse IPv6 du format binaire (FixedString(16)) en sa représentation textuelle standard.
Les adresses IPv6 mappées sur IPv4 sont affichées au format ::ffff:111.222.33.44.
Syntaxe
IPv6NumToString(x)Alias : INET6_NTOA
Arguments
x— adresse IPv6 au format binaire.FixedString(16)ouIPv6
Valeur renvoyée
Renvoie la chaîne de l'adresse IPv6 au format texte. String
Exemples
Exemple d'utilisation
SELECT IPv6NumToString(toFixedString(unhex('2A0206B8000000000000000000000011'), 16)) AS addr;┌─addr─────────┐
│ 2a02:6b8::11 │
└──────────────┘Analyse IPv6 avec la table hits
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 │
└───────────────────────┴───┘Adresses IPv4 mappées sur 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
Introduit dans : v1.1.0
Convertit une adresse IPv6 de sa représentation textuelle standard en format binaire (FixedString(16)).
Accepte les adresse IPv6 mappée sur IPv4 au format ::ffff:111.222.33.44..
Si l’adresse IPv6 est dans un format invalide, une exception est levée.
Si la chaîne d’entrée contient une adresse IPv4 valide, renvoie son équivalent IPv6. HEX peut être en majuscules ou en minuscules.
Syntaxe
IPv6StringToNum(string)Alias : INET6_ATON
Arguments
string— Chaîne représentant une adresse IPv6.String
Valeur renvoyée
Renvoie l’adresse IPv6 au format binaire. FixedString(16)
Exemples
Exemple de base
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
Introduit dans : v22.3.0
Convertit une adresse IPv6 de sa représentation textuelle standard au format binaire (FixedString(16)).
Accepte les adresse IPv6 mappée sur IPv4 au format ::ffff:111.222.33.44..
Si l'adresse IPv6 n'est pas dans un format valide, elle renvoie la valeur par défaut ::.
Syntaxe
IPv6StringToNumOrDefault(string)Arguments
string— chaîne représentant une adresse IPv6.String
Valeur renvoyée
Adresse IPv6 au format binaire, ou FixedString(16) rempli de zéros si l’adresse n’est pas valide. FixedString(16)
Exemples
Exemple de base avec une adresse invalide
SELECT
IPv6NumToString(IPv6StringToNumOrDefault('2001:db8::1')) AS valid,
IPv6NumToString(IPv6StringToNumOrDefault('invalid')) AS invalid;┌─valid───────┬─invalid─┐
│ 2001:db8::1 │ :: │
└─────────────┴─────────┘IPv6StringToNumOrNull
Introduit dans : v22.3.0
Convertit une adresse IPv6 de sa représentation textuelle standard en format binaire (FixedString(16)).
Accepte les adresses IPv6 mappées sur IPv4 au format ::ffff:111.222.33.44..
Si le format de l’adresse IPv6 n’est pas valide, renvoie NULL.
Syntaxe
IPv6StringToNumOrNull(string)Arguments
string— Chaîne représentant une adresse IPv6.String
Valeur renvoyée
Renvoie l’adresse IPv6 au format binaire, ou NULL si elle n’est pas valide. Nullable(FixedString(16))
Exemples
Exemple simple avec une adresse non valide
SELECT
IPv6NumToString(IPv6StringToNumOrNull('2001:db8::1')) AS valid,
IPv6StringToNumOrNull('invalid') AS invalid;┌─valid───────┬─invalid─┐
│ 2001:db8::1 │ ᴺᵁᴸᴸ │
└─────────────┴─────────┘cutIPv6
Introduit dans : v1.1.0
Accepte une valeur FixedString(16) contenant l’adresse IPv6 au format binaire.
Renvoie une chaîne contenant l’adresse après suppression du nombre d’octets spécifié, au format texte.
Syntaxe
cutIPv6(x, bytesToCutForIPv6, bytesToCutForIPv4)Arguments
x— adresse IPv6 au format binaire.FixedString(16)ouIPv6bytesToCutForIPv6— nombre d’octets à supprimer pour IPv6.UInt8bytesToCutForIPv4— nombre d’octets à supprimer pour IPv4.UInt8
Valeur renvoyée
Renvoie une chaîne contenant l’adresse IPv6 au format texte après suppression des octets spécifiés. String
Exemples
Exemple d’utilisation
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
Introduit dans : v21.4.0
Détermine si une adresse IP appartient à un réseau représenté au format Classless Inter-Domain Routing (CIDR).
Cette fonction accepte les adresses IPv4 et IPv6 (ainsi que les réseaux) représentées sous forme de chaînes. Elle renvoie 0 si la version IP de l’adresse et celle du CIDR ne correspondent pas.
Syntaxe
isIPAddressInRange(address, prefix)Arguments
address— Une adresse IPv4 ou IPv6.Stringprefix— Un préfixe réseau IPv4 ou IPv6 au format CIDR.String
Valeur renvoyée
Renvoie 1 si la version IP de l’adresse et celle du CIDR correspondent, sinon 0. UInt8
Exemples
Adresse IPv4 comprise dans la plage
SELECT isIPAddressInRange('127.0.0.1', '127.0.0.0/8')1Adresse IPv4 en dehors de la plage
SELECT isIPAddressInRange('127.0.0.1', 'ffff::/16')0Adresse IPv6 en dehors de la plage
SELECT isIPAddressInRange('::ffff:192.168.0.1', '::ffff:192.168.0.4/128')0isIPv4String
Introduit dans : v21.1.0
Détermine si la chaîne d'entrée est ou non une adresse IPv4.
Pour la version IPv6, voir isIPv6String.
Syntaxe
isIPv4String(string)Arguments
string— Chaîne représentant l’adresse IP à vérifier.String
Valeur renvoyée
Renvoie 1 si string est une adresse IPv4, sinon 0. UInt8
Exemples
Exemple d’utilisation
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
Introduit dans : v21.1.0
Détermine si la chaîne d’entrée est ou non une adresse IPv6.
Pour la version IPv4, voir isIPv4String.
Syntaxe
isIPv6String(string)Arguments
string— Chaîne contenant l’adresse IP à vérifier.String
Valeur renvoyée
Renvoie 1 si string est une adresse IPv6, sinon 0. UInt8
Exemples
Exemple d’utilisation
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
Introduit dans : v20.1.0
Convertit une chaîne ou une adresse IPv4 sous forme de UInt32 en type IPv4.
Cette fonction est similaire aux fonctions IPv4StringToNum et IPv4NumToString, mais elle prend en charge à la fois les types de données chaîne et entier non signé en arguments d'entrée.
Syntaxe
toIPv4(x)Arguments
x— Une adresse IPv4StringouUInt8/16/32
Valeur renvoyée
Renvoie une adresse IPv4. IPv4
Exemples
Exemple d'utilisation
SELECT toIPv4('171.225.130.45');┌─toIPv4('171.225.130.45')─┐
│ 171.225.130.45 │
└──────────────────────────┘Comparaison avec les fonctions IPv4StringToNum et 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 │
└───────────────────────────────────┴──────────────────────────┘Conversion d’un entier
SELECT toIPv4(2130706433);┌─toIPv4(2130706433)─┐
│ 127.0.0.1 │
└────────────────────┘toIPv4OrDefault
Introduit dans : v22.3.0
Convertit une chaîne ou une valeur UInt32 représentant une adresse IPv4 en type IPv4.
Si l'adresse IPv4 a un format invalide, la fonction renvoie 0.0.0.0 (IPv4 0) ou la valeur IPv4 par défaut fournie.
Syntaxe
toIPv4OrDefault(string[, default])Arguments
string— Chaîne contenant l'adresse IP à convertir.Stringdefault— Facultatif. Valeur à renvoyer si la chaîne n'est pas une adresse IPv4 valide.IPv4
Valeur renvoyée
Renvoie une adresse IPv4 obtenue à partir de la chaîne, ou la valeur par défaut si la conversion échoue. IPv4
Exemples
Chaînes IPv4 valides et non valides
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
Introduit dans : v22.3.0
Convertit une valeur d’entrée en une valeur de type IPv4, mais renvoie NULL en cas d’erreur.
Comme toIPv4, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion.
Arguments pris en charge :
- Représentations sous forme de chaîne d’adresses IPv4 en notation décimale pointée.
- Représentations entières d’adresses IPv4.
Arguments non pris en charge (renvoient NULL) :
- Formats d’adresse IP non valides.
- Adresses IPv6.
- Valeurs hors plage.
- Adresses mal formées.
Syntaxe
toIPv4OrNull(x)Arguments
Valeur renvoyée
Renvoie une adresse IPv4 en cas de succès, sinon NULL. IPv4 ou NULL
Exemples
Exemple d'utilisation
SELECT
toIPv4OrNull('192.168.1.1') AS valid_ip,
toIPv4OrNull('invalid.ip') AS invalid_ip┌─valid_ip────┬─invalid_ip─┐
│ 192.168.1.1 │ ᴺᵁᴸᴸ │
└─────────────┴────────────┘toIPv4OrZero
Introduit dans : v23.1.0
Convertit une valeur d’entrée en une valeur de type IPv4, mais renvoie l’adresse IPv4 nulle en cas d’erreur.
Comme toIPv4, mais renvoie l’adresse IPv4 nulle (0.0.0.0) au lieu de lever une exception en cas d’erreur de conversion.
Arguments pris en charge :
- Représentations sous forme de chaînes d’adresses IPv4 en notation décimale pointée.
- Représentations entières d’adresses IPv4.
Arguments non pris en charge (renvoie l’adresse IPv4 nulle) :
- Formats d’adresse IP non valides.
- Adresses IPv6.
- Valeurs hors plage.
Syntaxe
toIPv4OrZero(x)Arguments
Valeur renvoyée
Renvoie une adresse IPv4 en cas de succès ; sinon, l'adresse IPv4 nulle (0.0.0.0). IPv4
Exemples
Exemple d'utilisation
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
Introduit dans : v20.1.0
Convertit une chaîne ou une adresse IPv6 au format UInt128 vers le type IPv6.
Pour les chaînes, si l’adresse IPv6 a un format invalide, renvoie une valeur vide.
Semblable aux fonctions IPv6StringToNum et IPv6NumToString, qui convertissent une adresse IPv6 depuis et vers le format binaire (c.-à-d. FixedString(16)).
Si la chaîne d’entrée contient une adresse IPv4 valide, l’équivalent IPv6 de cette adresse IPv4 est renvoyé.
Syntaxe
toIPv6(x)Arguments
Valeur renvoyée
Renvoie une adresse IPv6. IPv6
Exemples
Exemple d'utilisation
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 │
└───────────────────────────────────┴──────────────────────────────────┘Correspondance IPv4-IPv6
SELECT toIPv6('127.0.0.1');┌─toIPv6('127.0.0.1')─┐
│ ::ffff:127.0.0.1 │
└─────────────────────┘toIPv6OrDefault
Introduit dans : v22.3.0
Convertit une chaîne ou une valeur UInt128 représentant une adresse IPv6 en type IPv6.
Si l'adresse IPv6 a un format non valide, la fonction renvoie :: (IPv6 0) ou l'adresse IPv6 par défaut fournie.
Syntaxe
toIPv6OrDefault(string[, default])Arguments
string— Chaîne contenant l’adresse IP. -default— Facultatif. Valeur à renvoyer si la chaîne a un format invalide.
Valeur renvoyée
Renvoie l’adresse IPv6, sinon :: ou la valeur par défaut facultative fournie si l’argument string a un format invalide. IPv6
Exemples
Chaînes IPv6 valides et invalides
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
Introduit dans : v22.3.0
Convertit une valeur d’entrée en valeur de type IPv6, mais renvoie NULL en cas d’erreur.
Comme toIPv6, mais renvoie NULL au lieu de lever une exception en cas d’erreur de conversion.
Arguments pris en charge :
- Représentations sous forme de chaîne d’adresses IPv6 en notation standard.
- Représentations textuelles d’adresses IPv4 (converties en adresses IPv6 mappées sur IPv4).
- Représentations binaires d’adresses IPv6.
Arguments non pris en charge (renvoient NULL) :
- Formats d’adresse IP non valides.
- Adresses IPv6 mal formées.
- Valeurs hors plage.
- Notation invalide.
Syntaxe
toIPv6OrNull(x)Arguments
x— Une représentation sous forme de chaîne d’une adresse IPv6 ou IPv4.String
Valeur renvoyée
Renvoie une adresse IPv6 en cas de réussite, sinon NULL. IPv6 ou NULL
Exemples
Exemple d’utilisation
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
Introduit dans : v23.1.0
Convertit une valeur d’entrée en valeur de type IPv6, mais renvoie l’adresse IPv6 nulle en cas d’erreur.
Comme toIPv6, mais renvoie l’adresse IPv6 nulle (::) au lieu de lever une exception en cas d’erreur de conversion.
Arguments pris en charge :
- Représentations sous forme de chaîne d’adresses IPv6 en notation standard.
- Représentations sous forme de chaîne d’adresses IPv4 (converties en IPv6 mappées sur IPv4).
- Représentations binaires d’adresses IPv6.
Arguments non pris en charge (renvoient une adresse IPv6 nulle) :
- Formats d’adresse IP non valides.
- Adresses IPv6 mal formées.
- Valeurs hors plage.
Syntaxe
toIPv6OrZero(x)Arguments
x— La représentation sous forme de chaîne d'une adresse IPv6 ou IPv4.String
Valeur renvoyée
Renvoie une adresse IPv6 en cas de réussite, sinon l'adresse IPv6 nulle (::). IPv6
Exemples
Exemple d'utilisation
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 │ :: │
└──────────────────────────────┴──────────────┘