这个问题已经在这里有了答案:




已关闭8年。






我正在寻找按“ordernum”字段排序的记录列表。 ordernum字段是一个int字段。该字段以NULL开头,直到由用户设置为止。我希望NULL条目显示在列表的末尾。

我正在建立一个查询,如下所示:

select *, case when (ordernum is null) then [largestInt] else ordernum end as newordernum
from tableName
order by newordernum

我知道我可以为[largestInt]输入最大的整数值,但是我想用一个变量替换[largestInt]。这可能吗?

最佳答案

我找到了一种在底部排序NULL值的方法。

http://sqlblog.com/blogs/denis_gobo/archive/2007/10/19/3048.aspx

它很好地满足了我的需求。我的查询现在是:

select *
from tableName
order by case when ordernum is null then 1 else 0 end, ordernum

关于SQL Server 2005的: Order with NULL values at the end,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11333863/

10-10 14:25