您的位置:首页 > 数据库 > Oracle

oracle sql中查询ip段内的记录

2013-07-01 16:11 232 查看
sql 语句中使用如下(ip值的存储类型为varchar):

TO_NUMBER(REGEXP_SUBSTR(login_ip,'\\w+',1,1))*POWER(2,24)+

TO_NUMBER(REGEXP_SUBSTR(login_ip,'\\w+',1,2))*POWER(2,16)+

TO_NUMBER(REGEXP_SUBSTR(login_ip,'\\w+',1,3))*POWER(2,8)+

TO_NUMBER(REGEXP_SUBSTR(login_ip,'\\w+',1,4))*POWER(2,0)>=?

程序中传入参数进行转换(原始ip参数为字符串):

public static long convert(String ip) {

String[] ips = ip.split("\\.");

long result = 0;

for (int i = 0; i < 4; i++) {

long temp = Integer.parseInt(ips[i]);

result += temp << ((3 - i) * 8);

}

return result;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: