日期:2014-05-19  浏览次数:20551 次

请问一个时间排序的SQL语句
我想按照一个字段的时间来进行顺序排序(从小到大),但是这个字段是允许为空的,所以排出来的结果集最顶部的始终是该字段为空值的记录,如果将这些空值记录排到记录集最末尾,该时间字段不为空的记录排在前面,并且按照递增顺序排列。

------解决方案--------------------
select * from tb order by case when col is null then 1 else 0 end asc,col asc
------解决方案--------------------
Select * From TableName
Order By (Case When 时间字段 Is Not Null Then 1 Else 2 End), 时间字段
------解决方案--------------------
select * from tbname order by isnull(时间字段, '9999-01-01 ')
------解决方案--------------------
Select * From TableName
Order By (Case When 时间字段 Is Null Then '9999-12-31 ' Else 时间字段 End)