order by substr(wbs_id,1,8),substr(wbs_id,9)

解决方案 »

  1.   

    直接我的实验,在sql2000下。
    直接 SELECT *
    FROM dbo.task_inf order by wbs_id 旧可以出现你要的效果
      

  2.   

    楼上我的我忘了一点DE_2.1.1
    DE_2.1.10
    DE_2.1.11.1
    DE_2.1.11.2
    DE_2.1.11.3
    DE_2.1.11.4
    DE_2.1.2
    DE_2.1.3
    DE_2.1.4
    DE_2.1.5
    DE_2.1.6
    DE_2.1.7
    DE_2.1.8
    DE_2.1.9这样好象就不可以了吧,刚才我是把数据简化了.
      

  3.   

    SELECT * FROM dbo.task_inf order by substring(wbs_id,1,8),substring(wbs_id,8,9)
      

  4.   

    select * from tt order by substring(idw,1,len(idw)),substring(idw,8,len(idw))
      

  5.   

    还是不行啊,我刚才把数据搞错了,
    1之后,好象就是10 啊!
    怎么把substr转化成浮点或整型呢??
      

  6.   

    晕哦,为什么丫丫你的方法老是出错呢,怎么写整个完整的SQL,谢谢了!
      

  7.   

    TO_NUMBER(char [,fmt [, ’nlsparams’] ])SELECT TO_NUMBER('-AusDollars100','L9G999D99',
                     'NLS_NUMERIC_CHARACTERS ='',.'' NLS_CURRENCY =''AusDollars''') amount
    FROM DUAL;
      

  8.   

    不过,设置nlsparams参数时,你的数据格式不能出错。要是你的表里的字段值是按你的要求生成的,就不行了。
      

  9.   

    上面那句的查询结果是:
    AMOUNT
    ---------
    -100
      

  10.   

    我用的是SQL2000,不认to_number你是不是写的oracle上的sql?