2016-12-06 36 views
0

當我在該列上應用排序時,假設列中有很多空值,那麼包含空值的行每次都以相同的方式排序。什麼是oracle中NULL值的排序順序

select * from departments order by manager_id 
+0

是否有適用於空排列順序值,否則爲什麼每次都輸出相同 –

+0

你想要什麼?爲空? –

+0

然後在您的order by子句中指定第二列。 – Rene

回答

0

據我所知,NULL值的順序不能保證。您只能指定NULL值是首先顯示還是最後顯示。

ORDER BY manager_id NULLS FIRST

OR

ORDER BY manager_id NULLS LAST

如果你需要指定到空的順序,你可以添加另一列到ORDER BY

+1

'NULLS LAST'是升序的默認值(它本身就是默認的順序順序)順序,'NULLS FIRST'是降序的默認值,請參見[order_by_clause](https://docs.oracle.com/database /121/SQLRF/statements_10002.htm#i2171079) –

+0

沒錯,但我相信他指的是無法保證的一組空值的順序。可以這麼說的順序內的順序。 – SQLChao

+0

是的,我知道空值先降爲零,但最後增加,但包含空值的行按相同的順序排列,無論是先空還是空最後。 @SQLChao –