本来想用一个视图加一个substr(ip, 1, x)的字段,可是想到ip的每一段都可以是2位或者3位的~:(

解决方案 »

  1.   

    select ip from tablename order by ip asc;
      

  2.   

    to trampwind
    你的语句是什么意思啊,直接用order by 不行的,ip 是用字符表示的
      

  3.   

    不好意思,我这里没oracle环境,这里写的ip代表字段名啊,字段ip不是字符串型的么,那个语句也只是对前3个段都一样的才行,你的ip值不知道都是什么样的,是不是各个段值是随便的,各个段的位数也是不定的,比如有10.250.40.30,又有192.168.9.33什么之类的,那样的话要按段排序可能有点麻烦。
      

  4.   

    呵呵,我想了一个办法,你看看怎么样,可惜我这里没oracle环境,在其他库里我试过了,可以。select ip from tablename order by len(replace(ip,'.','..'))-len(ip);
    其中ip就是字段名,oracle我只见一面,里面你看看是不是支持len(取字段长度函数),replace(替换函数),如果名字不对的话你可以用相应的函数,上面语句的结果是对的。
      

  5.   

    len(replace(ip,'.','..'))-len(ip) 就是一个计算字符.出现次数的方法
      

  6.   

    在informix库里也可以吗?我来试一下,多谢你了。
      

  7.   

    你自己试下,我informix也没环境,以前倒是用过一段时间informix,现在用postgresql,里面长度函数是length,其他库好像多是len的