select * from (
select '2011-09-14' as sign_date,'2011-09-01' as issu_date
union
select '2011-09-10' as sign_date,'2011-09-05' as issu_date
union
select '2011-09-12' as sign_date,'2011-09-02' as issu_date
union
select '' as sign_date,'2011-09-04' as issu_date
union
select '' as sign_date,'2011-09-05' as issu_date
) a
order by sign_date ,issu_date
结果:
结果出来后,发现第一列数据总是空排在前面, 所以在原有的基础上构造NULL让其参与排序。
select case when sign_date='' then'NULL' else sign_date end sign_date,issu_date from (
select '2011-09-14' as sign_date,'2011-09-01' as issu_date
union
select '2011-09-10' as sign_date,'2011-09-05' as issu_date
union
select '2011-09-12' as sign_date,'2011-09-02' as issu_date
union
select '' as sign_date,'2011-09-04' as issu_date
union
select '' as sign_date,'2011-09-05' as issu_date
) a
order by sign_date ,issu_date
结果: