SQL Server:查詢時將空字段排在下面的方法



如果需要將查詢結果裏面的空字段排序到下面,可以採用下面的兩種方法:

方法一:

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章