-- 按字元方式排序
select * from perexl order by perexl.xx
-- 按字元對應的數字方式排序
select * from perexl order by to_number(perexl.xx)
-- 按拼音排序 (系統預設)
select * from perexl order by nlssort(danwei,'nls_sort=schinese_pinyin_m');
-- 按部首排序
select * from perexl order by nlssort(danwei,'nls_sort=schinese_stroke_m');
-- 按筆畫排序
select * from perexl order by nlssort(danwei,'nls_sort=schinese_radical_m');
--排序後獲取第一行資料
select * from (select * from perexl order by nlssort(danwei,'nls_sort=schinese_pinyin_m') )c where rownum=1
--降序排序
select * from perexl order by zongrshu desc
--公升序排序
select * from perexl order by zongrshu asc
--將nulls始終放在最前
select * from perexl order by danwei nulls first
--將nulls始終放在最後
select * from perexl order by danwei desc nulls last
--decode函式比nvl函式更強大,同樣它也可以將輸入引數為空時轉換為一特定值
select * from perexl order by decode(danwei,null,'單位是空', danwei)
-- 標準的rownum分頁查詢使用方法
select *from (select c.*, rownum rn from personnel c)where rn >= 1and rn <= 5
--在oracle語句rownum對排序分頁的解決方案
--但是如果, 加上order by 姓名 排序則資料顯示不正確
select *from (select c.*, rownum rn from personnel c order by 出生年月)where rn >= 1and rn <= 5
--解決方法,再加一層查詢,則可以解決
select *from (select rownum rn, t.*from (select 姓名, 出生年月 from personnel order by 出生年月 desc) t)where rn >= 1and rn <= 5
--如果要考慮到效率的問題,上面的還可以優化成(主要兩者區別)
select *from (select rownum rn, t.*from (select 姓名,出生年月 from personnel order by 出生年月 desc) t where rownum <= 10) where rn >= 3
--nvl函式可以將輸入引數為空時轉換為一特定值,下面就是當單位為空的時候轉換成「單位是空」
select * from perexl order by nvl(danwei,'單位是空')
oracle中對排序的總結
按拼音排序 系統預設 select from perexl order by nlssort danwei,nls sort schinese pinyin m 按部首排序 select from perexl order by nlssort danwei,nls sort schinese st...
oracle 中null 值對排序的影響
size large color red oracle 中null 值對排序的影響 color size size medium 問題處理 方法1 使用nvl函式 語法 nvl expr1,expr2 若expr1是null,則返回expr2,否則返回expr1.認識了nvl的語法,就可以在排序中使...
對oracle中BLOB欄位讀寫的總結
oracle 中的blob 也到網上查了不少資料,感覺網上的資料都或多或少有些錯務,最後通過自己的反覆測試總算解決了,解決的過程中,還真有不少收穫,這裡還是寫下來,和朋友們分享一下!1.個人感覺對於 mysql 中blob 型別的字段 sql server 中的image 型別的字段,oracle ...