order by date1,date2 desc 不可以么?

解决方案 »

  1.   

    应该是这样:
    select date1,date2 from tabName 
    order by nvl(date1,to_date('1800-01-01')) desc,date2 desc;其中1800-01-01可以是任何一个小于date1中的任意一个值的日期,我想这个日期是设小一点就行了,要不就用subquery求出来也可以,就是这样:
    select date1,date2 from tabName 
    order by nvl(date1,(select min(date1) from tabName)-1) desc,date2 desc;
      

  2.   

    啊,楼主要求的这样就可以了:
    order by date1 desc,date2 desc 一时大意
      

  3.   

    order by date1 desc,date2 desc 这样不行啊
      

  4.   

    为什么不行?null排在前面了?
      

  5.   

    select date1,date2 from tab_name where date1 is not null order by date1 desc
      union
    select date1,date2 from tab_name where date1 is null order by date2 desc
      

  6.   

    order by date1 desc,date2 desc 这样不行,date1为null时会排在前面。对date1做一下处理:order by decode(date1,null,'1'||date2,'2'||date1) desc
      

  7.   

    select * from tablename a where a.date1字段名 is null order by a.date1字段名
    union 
    select * from tablename b where b.date1字段名 is not null order by b.date2字段名
      

  8.   

    hevin(刚出道,CODING) 的方法, dinya2003(OK) 的方法,都可以。
      

  9.   

    select date1,date2 
    from tabName 
    order by decode(date1,null,'1'||date2,'2'||date1) desc