oracle的nvl函數(shù)的使用介紹
Oracle的Nvl函數(shù)
nvl( ) 函數(shù)
從兩個(gè)表達(dá)式返回一個(gè)非null 值。
語(yǔ)法
NVL(eExpression1, eExpression2)
參數(shù)
eExpression1, eExpression2
如 果 eExpression1 的計(jì)算結(jié)果為 null 值,則 NVL( ) 返回 eExpression2。如果 eExpression1 的計(jì)算結(jié)果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數(shù)據(jù)類型。如果 eExpression1 與 eExpression2 的結(jié)果皆為 null 值,則 NVL( ) 返回 .NULL.。
返回值類型
字符型、日期型、日期時(shí)間型、數(shù)值型、貨幣型、邏輯型或 null 值
說(shuō)明
在不支持 null 值或 null 值無(wú)關(guān)緊要的情況下,可以使用 NVL( ) 來(lái)移去計(jì)算或操作中的 null 值。
select nvl(a.name,'空得') as name from student a joinschool b on a.ID=b.ID
注意:兩個(gè)參數(shù)得類型要匹配
問(wèn):什么是NULL?
答:在我們不知道具體有什么數(shù)據(jù)的時(shí)候,也即未知,可以用NULL,
我們稱它為空,ORACLE中,含有空值的表列長(zhǎng)度為零。
ORACLE允許任何一種數(shù)據(jù)類型的字段為空,除了以下兩種情況:
1、主鍵字段(primary key),
2、定義時(shí)已經(jīng)加了NOT NULL限制條件的字段
說(shuō)明:
1、等價(jià)于沒(méi)有任何值、是未知數(shù)。
2、NULL與0、空字符串、空格都不同。
3、對(duì)空值做加、減、乘、除等運(yùn)算操作,結(jié)果仍為空。
4、NULL的處理使用NVL函數(shù)。
5、比較時(shí)使用關(guān)鍵字用“is null”和“is not null”。
6、空值不能被索引,所以查詢時(shí)有些符合條件的數(shù)據(jù)可能查不出來(lái),
count(*)中,用nvl(列名,0)處理后再查。
7、排序時(shí)比其他數(shù)據(jù)都大(索引默認(rèn)是降序排列,小→大),
所以NULL值總是排在最后。
相關(guān)文章
Oracle查詢表空間大小及每個(gè)表所占空間的大小語(yǔ)句示例
Oracle表空間大小的查看方法應(yīng)該是我們都需要掌握的知識(shí),下面這篇文章主要給大家介紹了關(guān)于Oracle查詢表空間大小及每個(gè)表所占空間的大小語(yǔ)句的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
安裝Oracle完整客戶端后沒(méi)有訪問(wèn)接口OraOLEDB.Oracle解決辦法
這篇文章主要給大家介紹了關(guān)于安裝Oracle完整客戶端后沒(méi)有訪問(wèn)接口OraOLEDB.Oracle的解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考解決價(jià)值,需要的朋友可以參考下2024-01-01
Oracle數(shù)據(jù)庫(kù)集復(fù)制方法淺議
Oracle數(shù)據(jù)庫(kù)集復(fù)制方法淺議...2007-03-03
CentOS 6.3下安裝部署Oracle服務(wù)器圖文教程
這篇文章主要介紹了CentOS 6.3下安裝部署Oracle服務(wù)器圖文教程,本文內(nèi)容詳細(xì),步驟清楚,并配有大量圖片說(shuō)明,需要的朋友可以參考下2014-09-09
給Oracle添加split和splitstr函數(shù)的方法
最近項(xiàng)目中有很多需要做批量操作的需求,客戶端把一組逗號(hào)分隔的ID字符串傳給數(shù)據(jù)庫(kù),存儲(chǔ)過(guò)程就需要把它們分割,然后逐個(gè)處理2012-11-11
oracle數(shù)據(jù)庫(kù)優(yōu)化輔助SQL語(yǔ)句
這篇文章主要介紹了oracle數(shù)據(jù)庫(kù)優(yōu)化輔助SQL語(yǔ)句,需要的朋友可以參考下2015-10-10

