sql 如何優先顯示不為空的字段 並進行排序

2022-03-06 21:13:25 字數 781 閱讀 1574

【oracle 結論】 

order by colum asc 時,null預設被放在最後

order by colum desc 時,null預設被放在最前

nulls first 時,強制null放在最前,不為null的按宣告順序[asc|desc]進行排序

nulls last 時,強制null放在最後,不為null的按宣告順序[asc|desc]進行排序

【mysql 結論】

order by colum asc 時,null預設被放在最前

order by colum desc 時,null預設被放在最後

order by if(isnull(update_date),0,1) null被強制放在最前,不為null的按宣告順序[asc|desc]進行排序

order by if(isnull(update_date),1,0) null被強制放在最後,不為null的按宣告順序[asc|desc]進行排序

注:以上結果是在oracle11g及mysql5下的測試結果。

因此當我們在order by時,為了強制說明對於null的排序順序就必須使用到:

針對【oracle】我們就需要使用以下語法:

order by order_col [asc|desc] nulls [first|last]

而針對【mysql】我們則需要使用以下語法:

order by if(isnull(my_field),1,0),my_field;

**:

mysql怎麼查詢不為空的字段

mysql查詢欄位不為空的方法 1 利用 select from table name where id 語句查詢 2 利用 select from table name where id 語句查詢。本教程操作環境 windows10系統 mysql8.0.22版本 dell g3電腦。1 查詢不為...

SQL的字段判空

請看下面的 products 表 p id productname unitprice unitsinstock unitsonorder 1computer 69925152 printer 36536 3telephone 28015957 假如 unitsonorder 是可選的,而且可以包含...

如何判斷jquery返回的物件不為空

使用console.log 列印出jquery選擇器返回的物件,發現它永遠是乙個陣列物件,若未找到指定元素,就會返回乙個空的陣列物件。通常,我們用js判斷dom是否存在,直接使用 if document.getelementbyid wrap 就能判斷,但是如果是jquery就不能這樣用了 if j...