首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

oracle 排序空值处置

2013-11-21 
oracle 排序空值处理oracle认为 null 最大。升序排列,默认情况下,null值排后面。降序排序,默认情况下,null值

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)

热点排行