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

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

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

時(shí)間:2015-06-28 00:00:00 來源: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通過這個(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通過這個(gè)函數(shù)可以定制null的排序位置。

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

  from employee

  order by? (case employee_name

  when null then

  '張三'

  else

  employee_name

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

  5、使用nulls first 或者nulls last 語法 Nulls first和nulls last是Oracle Order by支持的語法如果Order by 中指定了表達(dá)式Nulls first則表示null值的記錄將排在最前(不管是asc 還是 desc)如果Order by 中指定了表達(dá)式Nulls last則表示null值的記錄將排在最后 (不管是asc 還是 desc)使用語法如下:--將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)論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法