【发布时间】:2017-06-12 11:00:40
【问题描述】:
IPCIDR FLAG_V6
-------------------------------- ----------
58.97.1.12/30
58.97.1.16/30
58.97.1.96/30
58.97.1.100/30
58.97.1.116/30
2001:fb0:1061:99:0:0:0:0 /64 1
2001:fb0:1061:9a:0:0:0:0 /64 1
2001:fb0:1061:9f:0:0:0:0 /64 1
2001:fb0:1061:a2:0:0:0:0 /64 1
我要对 ipv4 进行排序
order by (to_number(substr(ipcidr,1,instr(ipcidr,'.')-1))
, to_number(substr(ipcidr,instr(ipcidr,'.')+1, instr(ipcidr,'.',1,2) - instr(ipcidr,'.') - 1))
, to_number(substr(ipcidr,instr(ipcidr,'.',1,2)+1, instr(ipcidr,'.',1,3) - instr(ipcidr,'.',1,2) - 1))
, to_number(substr(ipcidr,instr(ipcidr,'.',1,3)+1,instr(ipcidr,'/')-instr(ipcidr,'.',1,3) - 1))
, to_number(substr(ipcidr,instr(ipcidr,'/')+1)))
并在一列中对 ipv6 进行排序,如果 ipv6 设置为 1,则我有 FLAG_V6 列,否则为 null
【问题讨论】: