zoukankan      html  css  js  c++  java
  • 【代码保留】IP地址排序(字符串分隔补齐)

    功能:实现IP地址排序
    思路:IP地址以点号分隔,直接排序会出现顺序混乱:
    如:
    10.143.19.138
    192.168.1.1
    如此两个IP地址是无法排序的(很明显)
    将其转换成:
    010.143.019.138
    192.168.001.001
    就可以进行排序了……
    代码:
    select t.icf_path icf_path_o,lpad(substr(t.icf_path,0,InStr(t.icf_path, '.'11)),4,'0')
        
    ||lpad(substr(t.icf_path,InStr(t.icf_path,'.',1,1)+1,InStr(t.icf_path,'.',1,2)-InStr(t.icf_path,'.',1,1)),4,'0')
        
    ||lpad(substr(t.icf_path,InStr(t.icf_path,'.',1,2)+1,InStr(t.icf_path,'.',1,3)-InStr(t.icf_path,'.',1,2)),4,'0')
        
    ||lpad(substr(t.icf_path,InStr(t.icf_path,'.',1,3)+1),3,'0') icf_path_sort
      
    from mat_ipconfig t
      
    order by icf_path asc

    结果:
          icf_path_o        icf_path_sort
    1
         10.143.15.1      010.143.015.001
    2     10.143.15.10     010.143.015.010
    3     10.143.15.100    010.143.015.100
    4     10.143.15.101    010.143.015.101
    5     10.143.15.102    010.143.015.102
    6     10.143.15.103    010.143.015.103
    7     10.143.15.104    010.143.015.104
    8     10.143.15.105    010.143.015.105
    9     10.143.15.106    010.143.015.106
    10    10.143.15.107    010.143.015.107
    11    10.143.15.108    010.143.015.108
    12    10.143.15.109    010.143.015.109
    13    10.143.15.11    010.143.015.011
    14    10.143.15.110    010.143.015.110
    15    10.143.15.111    010.143.015.111
    16    10.143.15.112    010.143.015.112
    17    10.143.15.113    010.143.015.113
    18    10.143.15.114    010.143.015.114
    19    10.143.15.115    010.143.015.115
    20    10.143.15.116    010.143.015.116
    21    10.143.15.117    010.143.015.117
    22    10.143.15.118    010.143.015.118
  • 相关阅读:
    删除链表中的一个节点
    链表系列面试题1
    线程的5种状态
    红黑树 实现
    Java的SPI机制浅析与简单示例
    socket原理
    rabbitmq简单介绍
    MongoTemplate操作mongodb
    RJava配置
    浅析前后台分离
  • 原文地址:https://www.cnblogs.com/volnet/p/980538.html
Copyright © 2011-2022 走看看