程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 空值排序(oracle和sqlserver)

空值排序(oracle和sqlserver)

編輯:Oracle教程

oracle認為 null 最大。

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

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

    改變空值辦法:

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

    替換null: nvl(arg,value)

    (2)用case語法將null轉換為一特定值(oracle9i以後版本支持。和sqlserver類似):

    order by (case mycol when null then‘北京漂客’else mycol end)

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

    null值排序的語法

    nulls first :將null排在最前面。如:

    select *

    from mytb

    order by mycol nulls first

    null last :將null排在最後面。如:

    select *

    from mytb

    order by mycol nulls last

    sqlserver 認為 null 最小。

    升序排列:null 值默認排在最前。

    要想排後面,則:order by case when col is null then 1 else 0 end ,col

    降序排列:null 值默認排在最後。

    要想排在前面,則:order   by case when col is null then 0 else 1 end , col desc

    替換null:isnull(arg,value)

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