如果需要將查詢結果裏面的空字段排序到下面,可以採用下面的兩種方法:
方法一:
SELECT AA,BB,CC FROM Table ORDER BY ISNULL(AA,'ZZZZ'),ISNULL(BB,'ZZZZ'),CC
解釋:這種方法是在排序的時候,判斷字段是否爲空,當爲空的時候,就將單引號中的內容作爲字段內容來參加排序。這時候,只需要在單引號中寫一個肯定是列的最大值的內容就可以了。
方法二:
SELECT AA,BB,CC FROM TABLE ORDER BY
(CASE WHEN AA IS NULL THEN 1 ELSE 0 END),AA,
(CASE WHEN BB IS NULL THEN 1 ELSE 0 END),BB
也可以寫成:
SELECT AA,BB,CC FROM TABLE ORDER BY
(CASE WHEN AA IS NULL THEN 1 ELSE 0 END),
(CASE WHEN BB IS NULL THEN 1 ELSE 0 END),
AA,BB