国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 13:32:54
字體:
來源:轉載
供稿:網友
1、缺省處理
 
Oracle在Order by 時缺省認為null是最大值,所以如果是ASC升序則排在最后,DESC降序則排在最前
2、使用nvl函數
 
nvl函數可以將輸入參數為空時轉換為一特定值,如
nvl(employee_name,’張三’)表示當employee_name為空時則返回’張三’,如果不為空則返回employee_name
通過這個函數可以定制null的排序位置。
3、使用decode函數
 
decode函數比nvl函數更強大,同樣它也可以將輸入參數為空時轉換為一特定值,如
decode(employee_name,null,’張三’, employee_name)表示當employee_name為空時則返回’張三’,如果不為空則返回employee_name
通過這個函數可以定制null的排序位置。
4、使用case 語法
 
Case語法是Oracle 9i后開始支持的,是一個比較靈活的語法,同樣在排序中也可以應用
如:
select *
 from employee
 order by  (case employee_name
            when null then
             '張三'
            else
             employee_name
          end)
表示當employee_name為空時則返回’張三’,如果不為空則返回employee_name
通過case語法同樣可以定制null的排序位置。
 
5、使用nulls first 或者nulls last 語法
 
Nulls first和nulls last是Oracle Order by支持的語法
如果Order by 中指定了表達式Nulls first則表示null值的記錄將排在最前(不管是asc 還是 desc)
如果Order by 中指定了表達式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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通州市| 克山县| 百色市| 神木县| 大足县| 盈江县| 新建县| 原阳县| 祁东县| 泉州市| 南通市| 阳西县| 北辰区| 牡丹江市| 邳州市| 固始县| 天津市| 青河县| 布拖县| 广平县| 宜川县| 平顶山市| 宿州市| 离岛区| 赣榆县| 博白县| 高陵县| 太和县| 嘉兴市| 太仆寺旗| 昂仁县| 海林市| 寿光市| 黎川县| 洞口县| 卢龙县| 锡林郭勒盟| 南郑县| 密山市| 沛县| 和顺县|