`
king_tt
  • 浏览: 2229782 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle自定义一个把 IP 地址转成整数的函数

 
阅读更多
CREATE OR REPLACE FUNCTION fn_ipaddr_to_num (p_ipaddr VARCHAR2)
    RETURN NUMBER
IS
    v_ret NUMBER := 0;
    k INT := 3;
    j INT := 0;
    i INT := 1;
    len INT := 0;
    len1 INT := 0;
    str VARCHAR2 (4000);
    str_split ty_str_split := ty_str_split ();
BEGIN
    len := LENGTH (p_ipaddr);

    IF p_ipaddr IS NULL OR len = 0
    THEN
        RETURN 0;
    ELSE
        WHILE j < len
        LOOP
            j := INSTR (p_ipaddr, '.', i);

            IF j = 0
            THEN
                j := len;
                str := SUBSTR (p_ipaddr, i);
                v_ret := v_ret + (TO_NUMBER (str) * POWER (256, k));

                IF i >= len
                THEN
                    EXIT;
                END IF;
            ELSE
                str := SUBSTR (p_ipaddr, i, j - i);
                i := j + 1;
                v_ret := v_ret + (TO_NUMBER (str) * POWER (256, k));
            END IF;

            k := k - 1;
        END LOOP;
    END IF;

    RETURN v_ret;
EXCEPTION
WHEN OTHERS
THEN
    RAISE;
END fn_ipaddr_to_num;
/


分享到:
评论

相关推荐

    oracle取随机数

    这是最基础的生成随机数的方式,可以生成一个浮点数,范围大致在-1到1之间。 ```sql SELECT DBMS_RANDOM.RANDOM FROM DUAL; ``` #### 2. 生成指定范围内的整数 通过组合`MOD`和`ABS`函数,可以生成0至99之间的...

    2021-2022计算机二级等级考试试题及答案No.18571.docx

    1. 关键字`synchronized`:在Java中,用于实现线程同步,对对象加互斥锁,保证同一时间只有一个线程访问特定代码块。 2. 浮点数除法:在Java等编程语言中,整数除法会向下取整,而浮点数除法则保留小数部分。表达式...

    南开20春学期《大学计算机基础》在线作业解答全貌.docx

    1. **数据库联系**:题目提到顾客实体和商品实体的联系是多对多(C),这涉及到数据库设计中的关系模型,其中多对多关系表示一个顾客可以购买多种商品,反之亦然。 2. **控制面板设置**:描述中提到了控制面板的...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    2021-2022计算机二级等级考试试题及答案No.10529.docx

    1. DNS(域名系统)是互联网的一项服务,它将域名转换为IP地址,而不是与IP地址等同。 2. "http://"是超文本传输协议(HTTP)的标识,表示的是访问资源的协议类型。 3. 电子邮件服务通常会将未读的邮件保存在服务...

    2021-2022计算机二级等级考试试题及答案No.18354.docx

    16. C语言程序:此程序初始化了一个整型数组n,并在for循环中不执行任何操作,因此最后输出n[k],即n[2]的初始值0。 17. 字符串长度:len()函数计算字符串的长度,不包括结束的空字符。"vb"的长度是2。 18. 字符串...

    超级有影响力霸气的Java面试题大全文档

    面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性:  多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例014 使当前项目依赖另一个项目 21 1.3 界面设计器 22 实例015 安装界面设计器 22 实例016 设计Windows系统的运行对话框 界面 23 实例017 设计计算器程序界面 26 实例018 设计关于进销存管理系统的界面 27 第2章 ...

    Java基础整理

    - **单例设计模式**:确保一个类只有一个实例,并提供一个全局访问点。 #### 第四章 异常体系 - **基本概念**:异常是指程序在运行过程中发生的错误情况。 - **体系分类**:异常分为两大类:运行时异常和检查异常...

    C#编程经验技巧宝典

    72 &lt;br&gt;0102 将字符串首字母转换大写 72 &lt;br&gt;0103 如何进行字节数组和字符串的相互转换 72 &lt;br&gt;0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73 &lt;br&gt;4.2 获取字符串信息 73 ...

    Delphi教程

    1. **Internet组件**: Delphi提供了一系列组件,如HTTPClient、TCP/IP套接字,用于构建网络应用程序。 2. **Web服务**: 创建和消费SOAP或RESTful Web服务是现代应用开发的重要部分。 ### Delphi的移动与跨平台开发...

    javascript进阶.md

    - **函数**:自定义函数的基本语法如下: ```php function add($a, $b) { return $a + $b; } echo add(1, 2); ``` #### 五、PHP数组操作 - **数组声明**:`$arr = array(11, 22, 33, 44, 55);` - **遍历数组...

    风越ASP代码生成器FireAspCreatorv2.9.rar

    不检测 非特殊字符 仅单词字符 仅单词字符空格 仅26个字母 仅中文字符 仅允许整数 仅允许小数 仅日期/时间 仅日期+时间 仅日期 仅时间 仅允许邮箱 仅允许网址 仅允许IP 仅身份证号 仅国内电话 仅国内手机 ...

    风越.Net代码生成器 [FireCode Creator] V1.3 精简版

    不检测 非特殊字符 仅单词字符 仅单词字符空格 仅26个字母 仅中文字符 仅允许整数 仅允许小数 仅日期/时间 仅日期+时间 仅日期 仅时间 仅允许邮箱 仅允许网址 仅允许IP 仅身份证号 仅国内电话 仅国内手机 ...

Global site tag (gtag.js) - Google Analytics