2007年11月3日

SQL Null的排序問題

排序對於資料顯示來說,是一個相當重要的一門課題,
這邊就稍微講解一下,如何讓一個DB的欄位值為NULL時,
可以排到最後面去


SELECT CURR_DEADLINE,SUBMIT_TIME , STATUS , *
FROM SWS_REQUEST_M A
ORDER BY
CASE
WHEN CURR_DEADLINE IS NULL THEN 1
ELSE 0
END
,CURR_DEADLINE


在ORDER BY的地方,先利用CASE的方式,將要排序的欄位,做第一次的篩選,
將該欄位如果為NULL的話,設定為1,這樣它在ORDER BY的時候,就會排比較後面,
接下來第二個ORDER欄位才是你真正要排序的欄位,
這樣一來將可以將該欄為如果為NULL的,排到最後面,
剩下不是NULL的再根據內容來進行排序一次。

沒有留言:

張貼留言