Oracle IP地址整型与字符串型相互转换
来源:互联网 发布:软件生存周期模式 编辑:程序博客网 时间:2024/06/18 11:53
oracle不像MySQL有两个内置的函数inet_aton IP字符串转换为整型 inet_ntoa整型转换为字符串,今天导数据的时候要用到,但是Oralce没有这样的内置函数,没办法只能自己动手写了,不废话了,直接贴代码了。
(1) IP字符串转换为整型
create or replace function inet_aton(strip in String) return integer
as
ip1 varchar2(10);
ip2 varchar2(10);
ip3 varchar2(10);
ip4 varchar2(10);
temp varchar2(20);
result integer;
begin
temp:=strip;
ip1:=SUBSTR(temp, 1,INSTR (temp, '.', 1,1)-1);
ip2:= substr(temp,INSTR (temp, '.', 1,1)+1,INSTR (temp, '.', 1,2)-length(ip1)-2 ) ;
ip3:= substr(temp,INSTR (temp, '.', 1,2)+1,INSTR (temp, '.', 1,3)-length(ip1)-length(ip2)-3 ) ;
ip4:= substr(temp,INSTR (temp, '.', 1,3)+1,length(temp)-length(ip1)-length(ip2)-4 ) ;
result:=to_number(ip1)*16777216+to_number(ip2)*65536+to_number(ip3)*256+to_number(ip4);
return(result);
end inet_aton;
(2)整型转换为字符串
create or replace function inet_ntoa(i_ip in integer) return varchar2
as
anNewIP integer:=i_ip;
InTmp integer;
lResult varchar2(30);
nIndex integer;
begin
-- Test statements here
for nIndex in reverse 0..3
loop
InTmp:=floor(anNewIP/power(256,nIndex));
lResult:=lResult||to_char(InTmp)||'.';
dbms_output.put_line(InTmp);
anNewIP:=anNewIP-(InTmp*power(256,nIndex));
end loop;
lResult:=substr(lResult,0,length(lResult)-1);
return lResult;
end inet_ntoa;
- Oracle IP地址整型与字符串型相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA 整型 与字符串 String 相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- 字符串与整型的相互转换
- Java的整型与字符串相互转换
- JAVA的整型与字符串相互转换
- oci编程,避免报错误ORA-01405: 提取的列值为 NULL
- oracle日期函数
- openwrt交叉编译利用 automake 生成makefile
- Oracle内建包UTL_FILE使用说明
- SSH原理与运用(一):远程登录
- Oracle IP地址整型与字符串型相互转换
- 将博客搬至CSDN
- css 设置超出宽度的文字显示为省略号
- 自己总结的Dijkstra算法(未完成)
- 交通灯管理系统学习总结
- HDU 4345 Permutation dp
- 家里家外 何止是还是发达萨菲好久
- 例题(4.2) 简单素数判断
- live555 在 android下通过 ndk 编译