2013-03-26 69 views
1

我目前尝试在ASC中排序日期。如果我使用ASC,它会将数据排序的日期比下一个日期更长。SQL服务器语句订购ASC

这样我就从tblUser 为了这样的事情 选择*通过LastLogin,它会显示以下

Name    LastLogin 
1. Peter   NULL 
2. Brian   2013-03-14 
3. Jack   2013-03-15 

但我想返回的东西这一点,请告知我能实现这个

1. Brian   2013-03-14 
2. Jack   2013-03-15 
3. Peter   NULL 
+0

我的道歉达米安。谢谢 – Spidey 2013-03-26 07:17:48

回答

2
SELECT * 
FROM tableName 
ORDER BY CASE WHEN lastlogin IS NULL THEN 1 ELSE 0 END, lastlogin 
+1

这很有效;此外,如果你在SQL Server 2012上,你可以使用:'ORDER BY LastLogin ASC NULLS LAST' – Gibron 2013-03-26 07:19:21

+0

啊,我想;我们不使用2012年......我一直渴望使用它,所以它已准备好并加载;) – Gibron 2013-03-26 07:23:19