order by lpad(translate(col,'abcdefghijklmnopqrst'),8,'0')||translate(col,'0123456789')晕,肯定好慢的

解决方案 »

  1.   

    sorry,写错了order by lpad(translate(col,'0abcdefghijklmnopqrstuvwxyz','0'),8,'0')||translate(col,'a0123456789','a')
      

  2.   

    SQL> select * from kane;        ID STR
    ---------- ----------
             1 20
             2 21
             3 21a
             4 3
             5 5
             6 7
             7 7a
             8 7b
             9 10
            10 11
            11 11m
            12 11n
            13 64
            14 5b
            15 4        ID STR
    ---------- ----------
            16 4y
            17 4f
            18 88
            19 88l
            20 88m已选择20行。SQL> select * from kane 
      2   order by lpad(translate(str,'0abcdefghijklmnopqrstuvwxyz','0'),8,'0')
      3           ||translate(str,'a0123456789','a');        ID STR
    ---------- ----------
             4 3
            15 4
            17 4f
            16 4y
             5 5
            14 5b
             6 7
             7 7a
             8 7b
             9 10
            10 11
            11 11m
            12 11n
             1 20
             2 21        ID STR
    ---------- ----------
             3 21a
            13 64
            18 88
            19 88l
            20 88m已选择20行。SQL>
      

  3.   

    说错
    应该是实现:
    3
    5
    7a
    7b
    7
    10
    20
    21a
    21
    ...
      

  4.   

    [email protected] >insert into t values('70');已创建 1 行。[email protected] >commit;提交完成。[email protected] >select * from t order by dump('v');V
    --------------------
    3
    7
    7a
    7b
    10
    21
    21a
    70已选择8行。
      

  5.   

    为什么是dump('v')啊?v表示的是什么意思啊?