sqlserver、oracle資料庫排序空值null問題解決辦法
【sqlserver】:
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
【oracle】:
oracle認為 null 最大。
升序排列,預設情況下,null值排後面。
降序排序,預設情況下,null值排前面。
有幾種辦法改變這種情況:
(1)用 nvl 函式或decode 函式 將null轉換為一特定值
(2)用case語法將null轉換為一特定值(oracle9i以後版本支援。和sqlserver類似):
order by (case mycol when null then ’北京漂客’ else mycol end)
(3)使用nulls first 或者nulls last 語法。
這是oracle專門用來null值排序的語法。
nulls first :將null排在最前面。如:select * from mytb order by mycol nulls first
null last :將null排在最後面。如:select * from mytb order by mycol nulls last
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-628368/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫頻繁歸檔問題的解決辦法Oracle資料庫
- 資料庫系統 空值 null資料庫Null
- SQLServer資料庫恢復掛起的解決辦法SQLServer資料庫
- SqlServer資料庫中文亂碼問題解決SQLServer資料庫
- SQLServer附加資料庫是隻讀模式的解決辦法SQLServer資料庫模式
- iOS: addObjectsFromArray 新增資料一值為空的解決辦法iOSObject
- /dev/null解決辦法devNull
- 解決sqlserver資料庫單一使用者無法刪除的問題SQLServer資料庫
- 資料庫漏洞解決辦法資料庫
- Oracle資料庫的歸檔日誌寫滿磁碟空間解決辦法Oracle資料庫
- oracle壞塊問題及解決辦法Oracle
- 解決Mysql資料庫插入資料出現問號(?)的解決辦法MySql資料庫
- 資料庫檔案複製問題和解決辦法資料庫
- 【TUNE_ORACLE】Oracle資料庫與HugePages(三)HugePages常見問題和解決辦法Oracle資料庫
- SQLServer資料庫處於恢復掛起狀態的解決辦法SQLServer資料庫
- oracle rac asm 問題的官方解決辦法OracleASM
- oracle 資料庫解決問題思路總結Oracle資料庫
- MySQL 與 Elasticsearch 資料不對稱問題解決辦法MySqlElasticsearch
- SqlServer鎖表解鎖解決辦法SQLServer
- Oracle-空值null和數字相加的問題-nvl函式OracleNull函式
- 掉電無法啟動資料庫問題解決資料庫
- 跨域問題解決辦法跨域
- discuz資料庫搬家,改密碼後無法訪問解決辦法資料庫密碼
- Jtti:SQLServer資料庫處於恢復掛起狀態的解決辦法JttiSQLServer資料庫
- Oracle自動斷開資料庫連線的解決辦法Oracle資料庫
- oracle資料庫cpu佔用居高不下的解決辦法Oracle資料庫
- 資料併發操作帶的的問題及解決辦法
- 解決客戶資料庫oracle_sid問題資料庫Oracle
- Oracle資料庫字符集問題解決方案大全Oracle資料庫
- Oracle資料庫基本知識及問題解決(轉)Oracle資料庫
- svn相關問題解決辦法
- 解決split無法得到空字串問題字串
- 安裝資料庫和資料庫解決問題資料庫
- Failed to install *.apk on device null解決辦法AIAPKdevNull
- 安裝ORACLE db /tmp空間不足解決辦法Oracle
- 資料庫 Table is marked as crashed and should be repaired 解決辦法資料庫AI
- 資料庫變慢了的分析及解決辦法資料庫
- IBM TSM排程程式出現資料庫空間不足的解決辦法IBM資料庫