django orm排序 空值在後

2021-10-13 07:16:55 字數 629 閱讀 1779

from django.db.models import q,f
aq = (q(net_number__icontains=''))
demo.objects.filter(aq).order_by(f('test_time').asc(nulls_last=true))[start:end].values()
其中test_time即為指定字段,asc為正序 傳入引數nulls_last為true,查詢結果即為空值在後。

其效果等同於:select * from demo where net_number like '%%' order by  test_time is null, test_time;

select * from demo where net_number like '%%' order by  if(isnull(test_time), 1, 0), test_time;

其中isnull函式中

將null強制放在前面:if(isnull(test_time), 0, 1)

asc預設是空值在前的,在desc預設是空值在後得,

如有需求,可以使用 0,1 將其放在前面;1,0放在後面

Oracle SQL 空值排序 Nulls

在資料開發應用中,很多時候需要對資料進行排序,但是在 oracle 資料庫中,有空值一說 null 如果乙個列中有的值是空的,則如果對此列進行排序的話,空值的行將被排序放到後面,如我對 hr模式下的 employees 員工表按照佣金比率列進行排序的話,select t.employee id,t....

oracle 空值處理,排序過濾

oracle認為 null 最大。公升序排列,預設情況下,null值排後面。降序排序,預設情況下,null值排前面。有幾種辦法改變這種情況 1 用 nvl 函式或decode 函式 將null轉換為一特定值 2 用case語法將null轉換為一特定值 oracle9i以後版本支援。和sqlserve...

公升序排序空值排在最後

table 待排序表名 column 待排序屬性 select from table orderby column isnull column asc list 待排序的實體集合 entity 實體 column 排序字段 type 排序字段型別 list.stream sorted compara...