oracle中ip带转数字,【PL/SQL】IP与数字互转
--查看过程、函数视图
dba_source user_source all_source
--删除存储过程
drop procedure SP_TMP;
drop function fun_tmp;
---函数
to_char:转换数据这字符串,也可以把10进制转换为16进制(注意xx的个数)。SQL> select to_char(100,'xx') from dual;
TO_
---
64
to_number:字符串转为数字,也可以16进制转为10进制。SQL> select to_number('1f','xx') from dual;
TO_NUMBER('1F','XX')
--------------------
31
substr:从字符串截取字符。可以从0或1开始,结果一样。SQL> select substr('abcdefg',1,2) from dual;
SU
--
ab
SQL> select substr('abcdefg',0,2) from dual;
SU
--
ab
--------------------------------------------------------------------
--ip转换为数字函数
--------------------------------------------------------------------
create or replace function fun_ipconvernum(v_ip in varchar2)
return number
as
v_tmp varchar2(2);
v_all varchar2(8);
v_tow varchar2(3);
v_chkn number;
v_chkt number;
begin
v_tmp:='';v_chkn:=0;v_chkt:=1;v_all:='';
for i in 1..3 loop
v_chkn:=instr(v_ip,'.',v_chkn+1);
v_tow:=substr(v_ip,v_chkt,v_chkn-v_chkt);
v_tmp:=trim(to_char(v_tow,'xx'));
if length(v_tmp)=1 then
v_all:=v_all || lpad(v_tmp,2,'0');
else
v_all:=v_all || v_tmp;
end if;
v_chkt:=v_chkn+1;
if i=3 then
v_tow:=substr(v_ip,v_chkt,length(v_ip)-v_chkn);
v_tmp:=trim(to_char(v_tow,'xx'));
if length(v_tmp)=1 then
v_all:=v_all || lpad(v_tmp,2,'0');
else
v_all:=v_all || v_tmp;
end if;
end if;
end loop;
--dbms_output.put_line(v_all);
return to_number(v_all,'xxxxxxxxxx');
end;
-------------------------
set serveroutput on
exec sp_ipconvernum('192.168.8.4')
select fun_ipconvernum('255.255.255.255') from dual;
--------------------------------------------------------------------
--数字转换为ip函数
--------------------------------------------------------------------
create or replace function fun_numconverip(v_nip number)
return varchar2
as
v_ip varchar2(32);
v_iphex varchar2(8);
begin
v_ip:='';
v_iphex:=trim(to_char(v_nip,'xxxxxxxxxx'));
for i in 1..4 loop
if i=4 then
v_ip:=v_ip||to_number(substr(v_iphex,(i-1)*2+1,2),'xxx');
else
v_ip:=v_ip||to_number(substr(v_iphex,(i-1)*2+1,2),'xxx')||'.';
end if;
end loop;
return v_ip;
end;
-----------------------------------------------------------------
select fun_numconverip(3232237572) from dual;
-----------------------------------------------------------------
oracle中ip带转数字,【PL/SQL】IP与数字互转相关推荐
- oracle双重for循环sql,Oracle 11g中for循环中的PL / SQL限制
我有一个大约有3000万条记录的表,并且我想像这样循环遍历表中存在的记录: FOR i IN (SELECT * FROM tbl_items it Left join location lo ON ...
- java mysql 占位符_在Java中编写带占位符的SQL语句
C#中SQL中带占位符的语句 假设有一张学员信息表Student,通过表中的ID来找学员,查询的SQL语句如下 string sql = string.Format("select * fr ...
- 用oracle怎么测试,oracle – 如何(单位)测试数据密集的PL / SQL应用程序
有几种不同的PL / sql测试工具. Steven Feuerstein已经写了两个 utplsql和 Quest Code Tester for Oracle(以前的QUTE).我是utplsql ...
- oracle 调用java 类_oracle数据库PL SQL调用Java类程序代码
作为JAVA程序员,对ORACLE的javasource一直是想找个机会下手的.呵呵!风高月夜,此时正下手之机. Oracle有提供一个叫"外部例程"来实现与其他编程语言的访问.例 ...
- oracle游标循环定义变量赋值,PL/SQL 循环 数组 游标的使用
1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型 ...
- 在Oracle中写出性能优良的SQL语句
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器 ...
- Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT
Bulk Collect特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率. BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQ ...
- oracle执行语句出无效字符,pl/sql动态执行sql语句时报错:ORA-00911: 无效字符 ORA-06512: 在 line 14...
今天测试的时候遇到两个错误提醒,写下来给自己提个醒: --建测试表 create table test_table(tablename varchar2(50),selectsql clob); in ...
- Oracle杀事务数据库崩溃,关于pl/sql dev窗口崩溃导致锁表
今天在用pl/sql dev写sql的时候,刚刚写到一个select XXX from table for update,打开了锁的按钮,进行了数据修改,这个时候没有commit,因为临时有事,所以先 ...
- oracle中修改数据库实例监听的ip和端口
这个可以通过oracle自带的管理软件Net Configuration Assistant来实现. 点开软件,可以看到以下界面,本人以ORCL数据库为例. 1.因为要配置ip和端口,所以选择本地网络 ...
最新文章
- 一起来看看Babel到底执行了什么?
- REST风格的url
- oracle 12C(12.2.0.1)安装-plm系统(一)
- 前端如何让倒计时更准确
- C#PDF转Word
- (笔记)堆和栈的区别-两种不同的数据结构
- 十五. Python基础(15)--内置函数-1
- 3.1)深度学习笔记:机器学习策略(1)
- Mysql处理海量数据时的一些优化查询速度方法
- find VS not looking for VS2015
- 链接列Uva 6176 Faulhaber's Triangle
- omnicppcomplete php,vim 中OmniCppComplete的安装和使用
- 透视特洛伊木马程序开发技术
- Bipolar Junction Transistor特性曲线
- 计算机的就业指导论文,★计算机就业指导论文题目计算机就业指导毕业论文题目大全计算机就业指导论文选题参考...
- 考研二阶矩阵合同的计算
- 怎么在电脑上创建一个虚拟机
- 北森2020未来人才管理论坛:HR变革驱动中国企业转型
- 十一. MySQL InnoDB 三大特性之 BufferPool
- 慧择业务布局成效明显,戴维斯双击可期