相关疑难解决方法(0)

MySQL查询将CIDR转换为IP范围

我有一个表包含一个列作为CIDR值1.0.85.128/25,我有2个其他列(start_ip_range和end_ip_range),我想填充那两列FROM CIDR列

Java代码可能如下所示:

String[] parts = cidr.split("/");
String ip = parts[0];
int prefix;
if (parts.length < 2) {
    prefix = 0;
} else {
    prefix = Integer.parseInt(parts[1]);
}

String[] ipParts = ip.split("\\.");
int address = ((new Integer(ipParts[0]) << 24) & 0xFF000000) 
    | ((new Integer(ipParts[1]) << 16) & 0xFF0000) 
    | ((new Integer(ipParts[2]) << 8) & 0xFF00) 
    | (new Integer(ipParts[3]) & 0xFF);
int mask = (-1) << (32 - prefix);
int start = address & mask;
int end = start …
Run Code Online (Sandbox Code Playgroud)

mysql cidr

3
推荐指数
1
解决办法
4078
查看次数

标签 统计

cidr ×1

mysql ×1