[英]sorting integer or decimal column in nhibernate
我正在嘗試對十進制或整數列進行排序。 但是在排序升序為零時排在最后。
代碼是:
criteria.AddOrder(Order.Asc(Projections.Cast(NHibernateUtil.Decimal, Projections.Property("cloumn1")))));
輸出:
35342860
36870852
87654321
213123213
0
0
代碼有問題嗎? 或什么是解決方案?
這些很可能是空值。 您可以查看使用條件限制,或將其設置為默認值0的不可為空的列,這似乎正是您所追求的。
有條件的限制就是這樣
.AddOrder
(
Order.Asc
(
Projections.Conditional
(
Restrictions.IsNull("cloumn1"),
Projections.Constant(1),
Projections.Constant(0)
)
)
)
如果您按第一順序輸入,則會將null放在頂部並顯示為0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.