close
在下 SQL 排序時,有時排序的欄位內容值是 null,這往往會造成一些困擾。
在 Oracle 中,預設的行為是 null 會被當成最大值,也就是在 ASC 時會排在最後,DESC 則在最前面。
關於欄位的 null 值,Oracle 有一些函式如:NVL、DECODE 來將 null 值轉成使用者預設的值,甚至
也可以用 CASE 語法來將 null 轉成想要的值,但以下介紹的是另一種 Oracle 提供的語法:
「nulls first」與「nulls last」,這個語法是 Oracle order by 所支援的語法,用法如下:
.將 null 值排在最前面
SELECT * FROM MyTable ORDER BY id NULLS FIRST;
.將 null 值排在最後面
SELECT * FROM MyTable ORDER BY id NULLS LAST;
參考來源:
Oracle 排序中常用的NULL值處理方法
全站熱搜
留言列表