摘要:[SQL語法]控制遇上null或空值時的排序位置
在使用oder by排序時,遇上null或空值時,怎麼控制null或空值一直排在最下方呢?
試試這段語法:
select isnull(encode,'') + isnull(wr_name_code,'') from wrin
where wr_name_code <>''
order by case when encode is null then 1 else 0 end ,encode asc
重點是第三句,前面二句是我自己的條件可先不看。
或是看看這段較單純:
當查詢遇到了排序的欄位中有 Null 值時,要如何將 Null 值改排在前還是排在後。
SQL Server 版
SQL Server 總認為 null 值是比較小的值。當order by 的欄位中有 null 時,null 的資料會先列出。相反地, order by …. desc 時會最後列出。
如果要改變,只好搞一下小技巧
--排列時,field1為null 的最後才列出
select * from tableName
order by case when field1 is null then 1 else 0 end, field1 asc
--
強烈建議購物網店或實體店家都必須使用關鍵字廣告or原生廣告來 將Yahoo上與聯播網的廣大流量導至自己的網站!
●Yahoo關鍵字廣告/原生廣告
◆Yahoo廣告方案介紹 : https://goo.gl/5k8FHW
◆Yahoo廣告剖析與運用 : http://goo.gl/4xjUJD