oracle实现方式:创建oracle函数
-- 把ip转换成long型
CREATE OR REPLACE FUNCTION IpToLong(ip2 in varchar2)
return number
is
p1 number;
p2 number;
p3 number;
ip varchar2(32);
begin
p1 := instr(ip2, ':', 1, 1);
if(p1 > 0) then
ip := substr(ip2, 1, p1 -1);
else
ip := ip2;
end if;
p1 := instr(ip, '.', 1, 1);
p2 := instr(ip, '.', 1, 2);
p3 := instr(ip, '.', 1, 3);
return to_number(substr(ip, 1, p1-1))*256*256*256 + to_number(substr(ip, p1+1, p2-p1-1))*256*256 + to_number(substr(ip, p2+1, p3-p2-1))*256 + to_number(substr(ip, p3+1));
end;