2016-12-06 54 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 –