Heim  >  Artikel  >  Datenbank  >  Oracle SQL 空值排序(Nulls)

Oracle SQL 空值排序(Nulls)

WBOY
WBOYOriginal
2016-06-07 16:59:141373Durchsuche

在数据开发应用中,很多时候需要对数据进行排序,但是在Oracle 数据库中,有空值一说(NULL)。如果一个列中有的值是空的,则如果对

在数据开发应用中,很多时候需要对数据进行排序,但是在Oracle 数据库中,有空值一说(NULL)。如果一个列中有的值是空的,,则如果对此列进行排序的话,空值的行将被排序放到后面,如我对HR模式下的EMPLOYEES员工表按照佣金比率列进行排序的话,

SELECT t.employee_id, t.last_name, t.commission_pct
FROM employees t
WHERE t.employee_id BETWEEN 178 AND 181
ORDER BY t.commission_pct

结果如下:

179 Johnson 0.10
178 Grant 0.15
180 Taylor
181 Fleaur

180,181由于没有佣金比率被排到了后面
而有的时候我们希望将空值的记录排序在前面而不是后面 ,这时候则需要使用关键字:
NULLS FIRST :将空值的记录排序在前面
NULLS LAST:将空值的记录排序在后面(默认)

例如上面的例子做少许的修改:

SELECT t.employee_id, t.last_name, t.commission_pct
FROM employees t
WHERE t.employee_id BETWEEN 178 AND 181
ORDER BY t.commission_pct NULLS FIRST

结果如下:

180 Taylor
181 Fleaur
179 Johnson 0.10
178 Grant 0.15

180,181由于没有佣金比率被排到了前面

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn