IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁(yè)數(shù)據(jù)庫(kù)Oracle → Oracle 排序中常用的NULL值處理方法

Oracle 排序中常用的NULL值處理方法

時(shí)間:2015/6/28來(lái)源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

  1、缺省處理 oracle在Order by 時(shí)缺省認(rèn)為null是最大值,所以如果是ASC升序則排在最后,DESC降序則排在最前

  2、使用nvl函數(shù) nvl函數(shù)可以將輸入?yún)?shù)為空時(shí)轉(zhuǎn)換為一特定值,如nvl(employee_name,’張三’)表示當(dāng)employee_name為空時(shí)則返回’張三’,如果不為空則返回employee_name通過(guò)這個(gè)函數(shù)可以定制null的排序位置。

  3、使用decode函數(shù) decode函數(shù)比nvl函數(shù)更強(qiáng)大,同樣它也可以將輸入?yún)?shù)為空時(shí)轉(zhuǎn)換為一特定值,如decode(employee_name,null,’張三’, employee_name)表示當(dāng)employee_name為空時(shí)則返回’張三’,如果不為空則返回employee_name通過(guò)這個(gè)函數(shù)可以定制null的排序位置。

  4、使用case 語(yǔ)法 Case語(yǔ)法是Oracle 9i后開(kāi)始支持的,是一個(gè)比較靈活的語(yǔ)法,同樣在排序中也可以應(yīng)用如:select *

  from employee

  order by  (case employee_name

  when null then

  '張三'

  else

  employee_name

  end)表示當(dāng)employee_name為空時(shí)則返回’張三’,如果不為空則返回employee_name通過(guò)case語(yǔ)法同樣可以定制null的排序位置。

  5、使用nulls first 或者nulls last 語(yǔ)法 Nulls first和nulls last是Oracle Order by支持的語(yǔ)法如果Order by 中指定了表達(dá)式Nulls first則表示null值的記錄將排在最前(不管是asc 還是 desc)如果Order by 中指定了表達(dá)式Nulls last則表示null值的記錄將排在最后 (不管是asc 還是 desc)使用語(yǔ)法如下:--將nulls始終放在最前select * from zl_cbqc order by cb_ld nulls first --將nulls始終放在最后select * from zl_cbqc order by cb_ld desc nulls last

關(guān)鍵詞標(biāo)簽:Oracle

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 Oracle中使用alter table來(lái)增加,刪除,修改列Oracle中使用alter table來(lái)增加,刪除,修改列oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修使用低權(quán)限Oracle數(shù)據(jù)庫(kù)賬戶(hù)得到管理員權(quán)限使用低權(quán)限Oracle數(shù)據(jù)庫(kù)賬戶(hù)得到管理員權(quán)限Oracle對(duì)user的訪問(wèn)控制Oracle對(duì)user的訪問(wèn)控制

相關(guān)下載

人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法ORACLE和SQL語(yǔ)法區(qū)別歸納(1)oracle grant 授權(quán)語(yǔ)句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶(hù)并指定權(quán)限