【代码保留】IP地址排序(字符串分隔补齐)
功能:实现IP地址排序
思路:IP地址以点号分隔,直接排序会出现顺序混乱:
如:
10.143.19.138
192.168.1.1
如此两个IP地址是无法排序的(很明显)
将其转换成:
010.143.019.138
192.168.001.001
就可以进行排序了……
代码:
结果:
思路: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, '.', 1, 1)),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
||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 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
posted on 2007-12-03 09:17 volnet(可以叫我大V) 阅读(1043) 评论(0) 编辑 收藏 举报