程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> sql查詢結果集根據指定條件排序的方法,sql查詢結果

sql查詢結果集根據指定條件排序的方法,sql查詢結果

編輯:Oracle教程

sql查詢結果集根據指定條件排序的方法,sql查詢結果


oracle認為 null 最大。

升序排列,默認情況下,null值排後面。

降序排序,默認情況下,null值排前面。

有幾種辦法改變這種情況:

(1)用 nvl 函數或decode 函數 將null轉換為一特定值

(2)用case語法將null轉換為一特定值(oracle9i以後版本支持。和sqlserver類似):
 1.當值為某個值的時候,指定排序的時候的位置
  select * from (
  select 1 t from dual
  union all
  select 2 t  from dual
  union all
  select 3 t from dual
  union all
  select 4 t from dual
  ) a  order by case when a.t=2 then 1 else 0 end
 2.當值為某個值的時候,排序的時候,永遠在最後
  select * from (
  select 1 t from dual
  union all
  select 2 t  from dual
  union all
  select 3 t from dual
  union all
  select 4 t from dual
  ) a  order by case when a.t=2 then null else 0 end asc  nulls last

結果:

(3)使用nulls first 或者nulls last 語法。

這是oracle專門用來null值排序的語法。

nulls first :將null排在最前面。如:select * from mytb order by mycol nulls first

null last :將null排在最後面。如:select * from mytb order by mycol nulls last

如果要想讓含有null的列按照自己的意願進行排序,可做如上處理。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved