表中表一字段是存ip的但现要在要查询这个ip的前三段或前二段有没有存在比如:表中已有127.0.0.1记录如果查询前二段127.0.1.6 这样就算重复了,
查询前三段127.0.0.5 这样就算重复了,数据库是9i
除了instr 函数 ,还有别的性能更好的函数或其它办法(如改变表结构也可以)
查询前三段127.0.0.5 这样就算重复了,数据库是9i
除了instr 函数 ,还有别的性能更好的函数或其它办法(如改变表结构也可以)
select t.*,count()over(partition by ip1,ip2 order by rownum)ct from t
然后筛选出ct不为1的记录
上面是前两段的
吃饭去了,嘿嘿
前3段: like '127.0.0.%'
一样可以用到索引,性能比INSTR好, 如果IP是动态的,
可以用 like IP1||IP2||'%'拼起来,一样可以用到索引。