select col1,col2,col3 from table order  by nvl(col3,0);

解决方案 »

  1.   

    我觉着是没办法了,咬咬牙用UNION吧
      

  2.   

    如果你的意思是字段3为空的必须排在最前面(也要按照字段1、字段2排序),不空的按照字段1、字段2、字段3的次序排,可以这样写
    select ...
        from ...
        order by decode(字段3,null,0,1),字段1,字段2,字段3
      

  3.   

    在order by的字段后加上nulls first 或nulls last就可以了select col1,col2,col3 from table order  by col3 nulls first,col2,col1
      

  4.   

    wfeng7907(无风) ,你好。
    呵呵,这个方法是不错,可惜有个问题。就是和我检索的顺序相关,比如说是4个字段,我必须按照
    1,2,3,4的顺序select, 排序的时候,用3,4,4有可能会是null,剩下的问题同原题,还有可能么?因为的sql的select顺序,影响我程序操作文件输出的顺序。所以,才多次一问,继续求教,谢谢!
      

  5.   

    如果是对col1,col3排序
    select col1,col2,col3 from table order  by col1,nvl(col3,0);
    按排序数据加入就可以了!