简单去除IP地址中多余的零

在数据库中我们可能经常会遇到对一些数据进行格式化,比如IP地址,有时要为IP地址补零,有时又要为IP地址去除多余的零,今天来介绍后者,其实一般IP地址都是用点分十进制表示的,点之前后都是一个数字,只要我们先截取点间的各个数字字符,然后通过plsql的to_number将字符转化为数字就达到了去零的效果,然后我们可以将得到的数字通过to_char转化字符串,并重组即可,为此写了个存储过程,代码如下:

create or replace function xipaddr_new(in_strIp in varchar2)
return varchar2
is
  strTemp varchar2(16);
  strIp varchar2(16);
  strRet varchar2(16);
begin
    strIp:= trim(in_strIp);
    if length(strIp) < 7 then --只进行简单的判断
      return '';
    end if;

    strTemp := substr(strIp,1,instr(strIp,'.')-1);
    strRet:= to_char(to_number(strTemp)) ||'.';
    strIp := substr(strIp,instr(strIp,'.')+1);

    strTemp := substr(strIp,1,instr(strIp,'.')-1);
    strRet:= strRet || to_char(to_number(strTemp))|| '.';
    strIp := substr(strIp,instr(strIp,'.')+1);

    strTemp := substr(strIp,1,instr(strIp,'.')-1);
    strRet:= strRet || to_char(to_number(strTemp))||'.';
    strIp := substr(strIp,instr(strIp,'.')+1);

    strRet:= strRet || to_char(to_number(strIp));
    return strRet;
end;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值