已知准考证号字段名为Testid,如何利用Order by语句将该字段的内容按如下顺序排列?
09_01_41001               
09_01_41002
09_01_41003
09_02_41001
09_02_41002
09_02_41003
09_01_42001
09_01_42002
09_01_42003
09_02_42001
09_02_42002
09_02_42003
09_01_53001
09_01_53002
09_01_53003
09_02_53001
09_02_53002
09_02_53003

解决方案 »

  1.   

    order by right(Testid,5),Testid
      

  2.   

    select *  from t order by left(Testid,6),Testid
      

  3.   

    ORDER BY RIGHT(RTRIM(TESTID),5),LEFT(LTRIM(TESTID),5)
      

  4.   

    楼主请试!!!
    select *  from t order by  substring(testid,2,2),substring(testid,4,2),RIGHT(RTRIM(TESTID),1)
      

  5.   

    对不起
    更正如下:
    select *  from t order by  substring(testid,7,2),substring(testid,4,2),RIGHT(RTRIM(TESTID),1)