实现IP地址与数值之间的转换
2010-06-25 15:31
399 查看
将"169.254.55.6" 转换为 2852009734
2852009734 = 0xA9FE3706
0xA9 对应 169
0xFE 对应 254
0x37 对应 55
0x6 对应 06
2852009734 = 0xA9FE3706
0xA9 对应 169
0xFE 对应 254
0x37 对应 55
0x6 对应 06
create or replace function ip2number(ip varchar2) return number is ip_num_hex varchar2(80); begin if (regexp_like(ip, '^(/d{1,3})/.(/d{1,3})/.(/d{1,3})/.(/d{1,3})$')) then ip_num_hex := lpad(trim(to_char(regexp_replace(ip, '^(/d{1,3})/.(/d{1,3})/.(/d{1,3})/.(/d{1,3})$', '/1'), 'XX')),2,'0') || lpad(trim(to_char(regexp_replace(ip, '^(/d{1,3})/.(/d{1,3})/.(/d{1,3})/.(/d{1,3})$', '/2'), 'XX')),2,'0') || lpad(trim(to_char(regexp_replace(ip, '^(/d{1,3})/.(/d{1,3})/.(/d{1,3})/.(/d{1,3})$', '/3'), 'XX')),2,'0') || lpad(trim(to_char(regexp_replace(ip, '^(/d{1,3})/.(/d{1,3})/.(/d{1,3})/.(/d{1,3})$', '/4'), 'XX')),2,'0'); return to_number(ip_num_hex, 'XXXXXXXX'); else return -1; end if; exception when others then return -99999999999; end; select ip2number('169.254.55.6') from dual; IP2NUMBER('169.254.55.6') ------------------------- 2852009734 create or replace function number2ip(num number) return varchar2 is ip_num_hex varchar2(8); begin ip_num_hex := lpad(trim(to_char(num, 'XXXXXXXX')), 8, '0'); return to_number(substr(ip_num_hex, 1, 2), 'XX') || '.' || to_number(substr(ip_num_hex, 3, 2), 'XX') || '.' || to_number(substr(ip_num_hex, 5, 2), 'XX') || '.' || to_number(substr(ip_num_hex, 7, 2), 'XX'); exception when others then dbms_output.put_line(sqlerrm); return null; end; select number2ip(2852009734) from dual; NUMBER2IP(2852009734) -------------------------------------------------------------------------------- 169.254.55.6
相关文章推荐
- IP地址与整数之间的转换实现代码(asp.net)
- IP地址与整数之间的转换实现代码(asp.net)
- Java实现IP地址字符串与整数之间的转换
- MySQL如何有效的存储IP地址及字符串IP和数值之间如何转换
- Winsock实现主机名与IP地址之间的转换
- Json-lib实现json,java对象,xml之间相互转换 .
- 基于Android中dp和px之间进行转换的实现代码
- Android中实现滑动翻页—使用ViewFlipper(dp和px之间进行转换)
- double数值与日期型之间的相互转换
- QImage与IplImage之间转换的实现
- 使用AutoMapper实现Dto和Model之间自由转换
- 用Python来在IP地址和数字之间转换
- FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)
- Java实现base64图片转换为base64字符串。base64字符串转换图片 之间的互相转换,并保存在本地。
- ip地址与Long数值的相互转换
- Unicode和ANSI之间转换 - U2A/A2U轻松实现
- 使用Gson或者GsonBuilder实现JSON和Java对象之间的转换
- 实现各进制之间的转换
- 怎样在Java中实现基本数据类型与字符之间的转换
- php实现xml与json之间的相互转换功能实例