IPv4CIDRToRange
引入版本:v20.1.0 接受一个 IPv4 地址及其无类别域间路由 (CIDR) 前缀长度,并以包含两个 IPv4 值的元组形式返回该子网的地址范围:即该子网中的第一个和最后一个地址。 IPv6 版本请参见IPv6CIDRToRange。
语法
Tuple(IPv4, IPv4)
示例
用法示例
Query
Response
IPv4NumToString
引入版本:v1.1.0 将 32 位整数转换为采用点分十进制表示法 (A.B.C.D 格式) 的 IPv4 地址字符串表示形式。 使用大端字节序来解释输入。 语法INET_NTOA
参数
num— 以 UInt32 表示的 IPv4 地址。UInt32
0。String
示例
使用示例
Query
Response
IPv4NumToStringClassC
引入版本:v1.1.0 将 32 位整数转换为采用点分十进制表示法 (A.B.C.D 格式) 的 IPv4 地址字符串表示形式, 类似于IPv4NumToString,但将最后一个八位字节替换为 xxx。
语法
num— 以 UInt32 数值表示的 IPv4 地址。UInt32
String
示例
带聚合的基础示例
Query
Response
IPv4StringToNum
引入版本:v1.1.0 将点分十进制表示法 (A.B.C.D 格式) 的 IPv4 地址字符串转换为对应的 32 位整数表示。 (与IPv4NumToString 相反。)
如果 IPv4 地址格式无效,则会抛出异常。
语法
INET_ATON
参数
string— IPv4 地址字符串。String
UInt32
示例
使用示例
Query
Response
IPv4StringToNumOrDefault
首次引入版本:v22.3.0 将点分十进制表示法 (A.B.C.D 格式) 的 IPv4 地址字符串转换为对应的 32 位整数表示;如果 IPv4 地址格式无效,则返回0。
语法
string— IPv4 地址的字符串。String
0。UInt32
示例
无效地址示例
Query
Response
IPv4StringToNumOrNull
引入版本:v22.3.0 将 32 位整数转换为采用点分十进制表示法 (A.B.C.D 格式) 的 IPv4 地址字符串表示形式;但如果 IPv4 地址格式无效,则返回NULL。
语法
string— IPv4 地址字符串。String
NULL。Nullable(UInt32)
示例
地址无效示例
Query
Response
IPv4ToIPv6
Introduced in: v1.1.0 将一个 (大端序) 32 位数解释为 IPv4 地址,再将其转换为对应的FixedString(16) 格式 IPv6 地址。
语法
x— IPv4 地址。UInt32
FixedString(16)
示例
使用示例
Query
Response
IPv6CIDRToRange
引入版本:v20.1.0 接受一个 IPv6 地址及其无类别域间路由 (CIDR) 前缀长度,并以包含两个 IPv6 值的元组形式返回该子网的地址范围:该子网中的最低地址和最高地址。 IPv4 版本请参见IPv4CIDRToRange。
语法
Tuple(IPv6, IPv6)
示例
使用示例
Query
Response
IPv6NumToString
引入版本:v1.1.0 将二进制格式 (FixedString(16)) 的 IPv6 地址转换为其标准文本表示。 IPv4 映射的 IPv6 地址显示格式为::ffff:111.222.33.44。
语法
INET6_NTOA
参数
x— 二进制格式的 IPv6 地址。FixedString(16)或IPv6
String
示例
使用示例
Query
Response
Query
Response
Query
Response
IPv6StringToNum
引入版本:v1.1.0 将 IPv6 地址从标准文本表示转换为二进制格式 (FixedString(16)) 。
接受格式为 ::ffff:111.222.33.44. 的 IPv4 映射的 IPv6 地址。
如果 IPv6 地址格式无效,则会抛出异常。
如果输入字符串包含有效的 IPv4 地址,则返回其对应的 IPv6 地址。
HEX 可以为大写或小写。
语法
INET6_ATON
参数
string— IPv6 地址字符串。String
FixedString(16)
示例
基本示例
Query
Response
IPv6StringToNumOrDefault
引入版本:v22.3.0 将 IPv6 地址从标准文本表示转换为二进制格式 (FixedString(16)) 。
接受格式为 ::ffff:111.222.33.44. 的 IPv4 映射的 IPv6 地址。
如果 IPv6 地址格式无效,则返回默认值 ::。
语法
string— IPv6 地址字符串。String
FixedString(16)
示例
无效地址的基础示例
Query
Response
IPv6StringToNumOrNull
引入版本:v22.3.0 将 IPv6 地址从标准文本表示转换为二进制格式 (FixedString(16)) 。
接受格式为 ::ffff:111.222.33.44. 的 IPv4 映射的 IPv6 地址。
如果 IPv6 地址格式无效,则返回 NULL。
语法
string— IPv6 地址字符串。String
NULL。Nullable(FixedString(16))
示例
无效地址的基础示例
Query
Response
cutIPv6
引入版本:v1.1.0 接受一个FixedString(16) 值,其中包含二进制格式的 IPv6 地址。
返回一个字符串,以文本格式表示移除指定字节数后的地址。
语法
x— 二进制格式的 IPv6 地址。FixedString(16)或IPv6bytesToCutForIPv6— 要从 IPv6 中截去的字节数。UInt8bytesToCutForIPv4— 要从 IPv4 中截去的字节数。UInt8
String
示例
使用示例
Query
Response
ipcryptDecrypt
引入版本:v26.10.0 使用相同的密钥,解密先前通过ipcryptEncrypt 加密的 IP 地址。
输入为 IPv4/IPv6 时返回 IPv6,输入为 String 时返回 String (与参考实现一致,IPv4 映射地址的结果会以 IPv4 文本形式输出) 。
语法
encrypted_ip— 要解密的已加密 IP 地址。IPv4或IPv6或Stringkey— 16 字节加密密钥 (原始字节或 32 个十六进制字符) ,必须为常量。String或FixedString
IPv6 或 String
示例
Round-trip:先加密再解密
Query
Response
ipcryptEncrypt
引入版本:v26.10.0 使用 16 字节密钥,通过确定性的保格式加密 (format-preserving encryption) 对 IP 地址进行加密。 输入为 IPv4/IPv6 时返回 IPv6,输入为 String 时返回 String (与参考实现一致,IPv4 映射的结果会以 IPv4 文本形式输出) 。 语法ip— 要加密的 IP 地址。IPv4、IPv6或Stringkey— 16 字节的加密密钥 (原始字节或 32 个十六进制字符) ,必须为常量。String或FixedString
IPv6 或 String
示例
加密 IPv4 地址
Query
Response
ipcryptPrefixDecrypt
引入版本:v26.10.0 使用相同的密钥,解密先前通过ipcryptPrefixEncrypt 加密的 IP 地址。
返回类型与输入的地址类别保持一致:IPv4 仍为 IPv4,IPv6 仍为 IPv6。
语法
encrypted_ip— 要解密的已加密 IP 地址。IPv4或IPv6或Stringkey— 32 字节的加密密钥 (原始字节或 64 个十六进制字符) 。必须为常量。String或FixedString
IPv4 或 IPv6 或 String
示例
保留前缀的先加密后解密 (round-trip)
Query
Response
ipcryptPrefixEncrypt
引入版本:v26.10.0 使用 32 字节密钥,以保留前缀的加密方式对 IP 地址进行加密。 具有相同网络前缀的地址,加密后的地址同样具有相同的前缀。 返回类型与输入类型保持一致:IPv4 仍为 IPv4,IPv6 仍为 IPv6。 语法ip— 要加密的 IP 地址。IPv4、IPv6或Stringkey— 32 字节的加密密钥 (原始字节或 64 个十六进制字符) 。必须为常量。String或FixedString
IPv4、IPv6 或 String
示例
对 IPv4 进行前缀保留加密
Query
Response
isIPAddressInRange
自 v21.4.0 引入 判断某个 IP 地址是否位于以 无类别域间路由 (CIDR) 表示的网络范围内。 此函数接受以字符串形式表示的 IPv4 和 IPv6 地址 (以及网络) 。如果地址的 IP 版本与 CIDR 不匹配,则返回0。
语法
1;否则返回 0。UInt8
示例
范围内的 IPv4 地址
Query
Response
Query
Response
Query
Response
isIPv4String
首次引入版本:v21.1.0 判断输入字符串是否为 IPv4 地址。 IPv6 版本请参见isIPv6String。
语法
string— 要检查的 IP 地址字符串。String
string 是 IPv4 地址,则返回 1;否则返回 0。UInt8
示例
使用示例
Query
Response
isIPv6String
首次引入版本:v21.1.0 判断输入字符串是否为 IPv6 地址。 IPv4 版本请参见isIPv4String。
语法
string— 要检查的 IP 地址字符串。String
string 是 IPv6 地址,则返回 1;否则返回 0。UInt8
示例
用法示例
Query
Response
toIPv4
引入版本:v20.1.0 将 IPv4 地址的字符串或 UInt32 形式转换为 IPv4 类型。 它与IPv4StringToNum 和 IPv4NumToString 函数类似,但同时支持字符串和无符号整数数据类型作为输入参数。
语法
x— IPv4 地址,类型为String或UInt8/16/32
IPv4
示例
使用示例
Query
Response
Query
Response
Query
Response
toIPv4OrDefault
引入版本:v22.3.0 将 IPv4 地址的字符串形式或 UInt32 形式转换为IPv4 类型。
如果 IPv4 地址格式无效,则返回 0.0.0.0 (即 0 IPv4) ,或者返回提供的默认 IPv4 值。
语法
IPv4
示例
有效和无效的 IPv4 字符串
Query
Response
toIPv4OrNull
引入版本:v22.3.0 将输入值转换为IPv4 类型的值,但如果出错则返回 NULL。
与 toIPv4 类似,但在转换出错时会返回 NULL,而不是抛出异常。
支持的参数:
- 点分十进制表示法的 IPv4 地址字符串表示形式。
- IPv4 地址的整数表示形式。
NULL) :
- 无效的 IP 地址格式。
- IPv6 地址。
- 超出范围的值。
- 格式不正确的地址。
NULL。IPv4 或 NULL
示例
使用示例
Query
Response
toIPv4OrZero
Introduced in: v23.1.0 将输入值转换为 IPv4 类型的值;如果发生错误,则返回零 IPv4 地址。 与toIPv4 类似,但在转换出错时会返回零 IPv4 地址 (0.0.0.0) ,而不是抛出异常。
支持的参数:
- 采用点分十进制表示法的 IPv4 地址字符串表示形式。
- IPv4 地址的整数表示形式。
- 无效的 IP 地址格式。
- IPv6 地址。
- 超出范围的值。
0.0.0.0) 。IPv4
示例
使用示例
Query
Response
toIPv6
Introduced in: v20.1.0 将字符串或 IPv6 地址的UInt128 形式转换为 IPv6 类型。
对于字符串,如果 IPv6 地址格式无效,则返回空值。
与 IPv6StringToNum 和 IPv6NumToString 函数类似,这两个函数用于在 IPv6 地址与二进制格式 (即 FixedString(16)) 之间相互转换。
如果输入字符串包含有效的 IPv4 地址,则返回该 IPv4 地址对应的 IPv6 等效形式。
Syntax
IPv6
示例
用法示例
Query
Response
Query
Response
toIPv6OrDefault
引入版本:v22.3.0 将字符串或 IPv6 地址的 UInt128 形式转换为IPv6 类型。
如果 IPv6 地址的格式无效,则返回 :: (IPv6 的 0 值) 或提供的默认 IPv6 值。
语法
string— 要转换的 IP 地址字符串。 -default— 可选。当字符串格式无效时返回的值。
string 的格式无效,则返回 :: 或所提供的可选默认值。IPv6
示例
有效与无效的 IPv6 字符串
Query
Response
toIPv6OrNull
引入版本:v22.3.0 将输入值转换为IPv6 类型的值;如果发生错误,则返回 NULL。
与 toIPv6 类似,但在转换出错时会返回 NULL,而不是抛出异常。
支持的参数:
- 标准表示法的 IPv6 地址字符串表示形式。
- IPv4 地址的字符串表示形式 (会转换为 IPv4 映射的 IPv6 地址) 。
- IPv6 地址的二进制表示形式。
NULL) :
- 无效的 IP 地址格式。
- 格式不正确的 IPv6 地址。
- 超出范围的值。
- 无效的表示法。
x— IPv6 或 IPv4 地址的字符串表示形式。String
NULL。IPv6 或 NULL
示例
用法示例
Query
Response
toIPv6OrZero
引入版本:v23.1.0 将输入值转换为 IPv6 类型的值;如果出错,则返回全零 IPv6 地址。 类似于toIPv6,但在转换出错时会返回全零 IPv6 地址 (::) ,而不是抛出异常。
支持的参数:
- 标准表示法的 IPv6 地址字符串表示形式。
- IPv4 地址的字符串表示形式 (将转换为 IPv4 映射的 IPv6 地址) 。
- IPv6 地址的二进制表示形式。
- 无效的 IP 地址格式。
- 格式不正确的 IPv6 地址。
- 超出范围的值。
x— IPv6 或 IPv4 地址的字符串表示形式。String
::) 。IPv6
示例
用法示例
Query
Response