一般就是比较最后一串字符,'XXX'一般情况,把字符串转换一下。
'XXX.XXX.XXX.XXX' ===> 'XXXXXXXXXXXX' (注意是12位的)。这样就可以比较了。

解决方案 »

  1.   

    如何转换'XXX.XXX.XXX.XXX' ===> 'XXXXXXXXXXXX' ?初学oracle,不太熟悉,希望达人指教,多谢啦!
      

  2.   

    SQL> select instr('192.168.0.197','.',1,1) S from dual;         S
    ----------
             4SQL> select instr('192.168.0.197','.',1,2) S from dual;         S
    ----------
             8SQL> select instr('192.168.0.197','.',1,3) S from dual;         S
    ----------
            10SQL> 
    之后的事情,知道怎么做了吧?呵呵
      

  3.   

    SQL> select substr('192.168.0.12',1,3) || substr('192.168.0.12',5,3) || '00' || substr('192.168.0.12',9,1) || '0' ||substr('192.168.0.12',11,3)s from dual;S
    ------------
    192168000012Executed in 0.016 secondsSQL> 这只是个思路,要实现转换,用一个procedure可以搞定。
    自己先思考思考,不要依赖别人给出最后的答案,那样对自己不好。如果明天还不能解决问题,再跟这个帖子好了。
      

  4.   

    如果是在同一个网段的IP,就不用写procedure了;比较最后一个字符串。SQL> select substr('192.168.0.12',instr('192.168.0.12','.',1,3)+1,length('192.168.0.12')-instr('192.168.0.12','.',1,3)) s from dual;S
    --
    12Executed in 0.016 secondsSQL>
      

  5.   

    select replace('192.168.0.12', '.', '') from dual