nhibernate-结尾处排序为null

nhibernate-结尾处排序为null,nhibernate,Nhibernate,使用C#中的NHibernate,并且仅使用HQL(非SQL),其方式与MS SQL Server 2005/2008(最好是Oracle)兼容 有没有一种方法可以编写ORDERBY子句,这样null将在查询结果的末尾排序,而非null结果将按升序排序 根据nickf所引用问题的答案,答案为: select x from MyClass x order by case when x.MyProperty is null then 1 else 0 end, x.MyProperty 我不知道这

使用C#中的NHibernate,并且仅使用HQL(非SQL),其方式与MS SQL Server 2005/2008(最好是Oracle)兼容

有没有一种方法可以编写ORDERBY子句,这样null将在查询结果的末尾排序,而非null结果将按升序排序

根据nickf所引用问题的答案,答案为:

select x from MyClass x order by case when x.MyProperty is null then 1 else 0 end, x.MyProperty

我不知道这是否有帮助,但还有一个问题

也许同样的逻辑可以应用于HQL


编辑:这被接受了,所以很明显,是的,它可以

以下是该问题的公认答案:


有一次我放弃了,在我的收集课上修改了排序顺序

因为我只是移动空值,所以我所要做的就是在集合的开头剥离空值,并将它们附加到末尾

通过切割器编码,它甚至可以在阵列上完成


尽管如此,按大小写顺序是一个简单易懂的技巧。

如果您要查找QueryOver,请访问。
SELECT * FROM myTable
WHERE ...
ORDER BY CASE WHEN myDate IS NULL THEN 1 ELSE 0 END, myDate;