sqlserver非空排序

如果数据库里有一个日期字段ExpectFinishDate(期望完成日期),该字段可以为空,如果为空,说明这条数据的重要程度比较低,

而页面希望能把重要程度比较高的数据显示在前面,所以需要按照ExpectFinishDate的升序排序,

但是sqlserver如果按照ExpectFinishDate asc排序的话,ExpectFinishDate为空的数据会显示在最前面,

为了避免这种情况出现,可以有两种处理方式:

第一种:union把ExpectFinishDate不为空的数据和ExpectFinishDate为空的数据联合起来。

第二种:order by IsNull(ExpectFinishDate,'9999-12-31 23:59:59');通过把空的数据设置成最大值排序。

 

oracle中有nulls first和nulls last可以使用

posted @ 2015-04-15 19:04  江境纣州  阅读(263)  评论(0编辑  收藏  举报