order by rpad(node,10,' ');

解决方案 »

  1.   

    22:32:21 jlanzpa817>select * from jlandzpa
    22:32:33   2  order by rpad(node,10,' ');NODE       LV
    ---------- --
    1          1
    1.1        2
    1.1.1      3
    1.10.1     3
    1.12.1     3
    1.2        2
    1.2.1      3
    2          1已选择8行。已用时间:  00: 00: 00.20
      

  2.   

    select node from jlandzpa
    order by 
    lpad(decode(instr(node,'.',1,1),0,node,substr(node,1,instr(node,'.',1,1) - 1)),10,'0'),
    lpad(decode(instr(node,'.',1,1),0,'0',decode(instr(node,'.',1,2),0,substr(node,instr(node,'.',1,1)+1),substr(node,instr(node,'.',1,1)+1,instr(node,'.',1,2)-instr(node,'.',1,1)-1))),10,'0'),
    lpad(decode(instr(node,'.',1,1),0,'0',decode(instr(node,'.',1,2),0,'0',decode(instr(node,'.',1,3),0,substr(node,instr(node,'.',1,2)+1),substr(node,instr(node,'.',1,2)+1,instr(node,'.',1,3)-instr(node,'.',1,2)-1)))),10,'0');NODE
    ----------
    1
    1.1
    1.1.1
    1.2
    1.2.1
    1.10.1
    1.12.1
    2已选择8行。已用时间:  00: 00: 00.50结果是对的,希望有更简单的方法.