oracle的nvl函數(shù)的使用介紹
Oracle的Nvl函數(shù)
nvl( ) 函數(shù)
從兩個表達(dá)式返回一個非null 值。
語法
NVL(eExpression1, eExpression2)
參數(shù)
eExpression1, eExpression2
如 果 eExpression1 的計算結(jié)果為 null 值,則 NVL( ) 返回 eExpression2。如果 eExpression1 的計算結(jié)果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數(shù)據(jù)類型。如果 eExpression1 與 eExpression2 的結(jié)果皆為 null 值,則 NVL( ) 返回 .NULL.。
返回值類型
字符型、日期型、日期時間型、數(shù)值型、貨幣型、邏輯型或 null 值
說明
在不支持 null 值或 null 值無關(guān)緊要的情況下,可以使用 NVL( ) 來移去計算或操作中的 null 值。
select nvl(a.name,'空得') as name from student a joinschool b on a.ID=b.ID
注意:兩個參數(shù)得類型要匹配
問:什么是NULL?
答:在我們不知道具體有什么數(shù)據(jù)的時候,也即未知,可以用NULL,
我們稱它為空,ORACLE中,含有空值的表列長度為零。
ORACLE允許任何一種數(shù)據(jù)類型的字段為空,除了以下兩種情況:
1、主鍵字段(primary key),
2、定義時已經(jīng)加了NOT NULL限制條件的字段
說明:
1、等價于沒有任何值、是未知數(shù)。
2、NULL與0、空字符串、空格都不同。
3、對空值做加、減、乘、除等運算操作,結(jié)果仍為空。
4、NULL的處理使用NVL函數(shù)。
5、比較時使用關(guān)鍵字用“is null”和“is not null”。
6、空值不能被索引,所以查詢時有些符合條件的數(shù)據(jù)可能查不出來,
count(*)中,用nvl(列名,0)處理后再查。
7、排序時比其他數(shù)據(jù)都大(索引默認(rèn)是降序排列,小→大),
所以NULL值總是排在最后。
相關(guān)文章
oracle數(shù)據(jù)遷移到db2數(shù)據(jù)庫的實現(xiàn)方法(分享)
下面小編就為大家?guī)硪黄猳racle數(shù)據(jù)遷移到db2數(shù)據(jù)庫的實現(xiàn)方法(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04ORACLE數(shù)據(jù)庫對long類型字段進(jìn)行模糊匹配的解決思路
這篇文章主要介紹了ORACLE數(shù)據(jù)庫對long類型字段進(jìn)行模糊匹配的解決思路,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04mybatis使用oracle進(jìn)行添加數(shù)據(jù)的方法
這篇文章主要介紹了mybatis使用oracle進(jìn)行添加數(shù)據(jù)的方法,本文給大家分享我的心得體會,需要的朋友可以參考下2021-04-04ORACLE SQL-UPDATE、DELETE、INSERT優(yōu)化和使用技巧分享
這篇文章主要介紹ORACLE中SQL-UPDATE、DELETE、INSERT優(yōu)化和使用技巧,需要的朋友可以參考下2013-03-03Oracle查詢語句中rownum與rowid的不同之處分析
這篇文章主要介紹了Oracle查詢語句中rownum與rowid的不同之處分析,需要的朋友可以參考下2014-07-07oracle臨時表空間的作用與創(chuàng)建及相關(guān)操作詳解
Oracle可能會需要使用到一些臨時存儲空間,用于臨時保存解析過的查詢語句以及在排序過程中產(chǎn)生的臨時數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于oracle臨時表空間的作用與創(chuàng)建及相關(guān)操作的相關(guān)資料,需要的朋友可以參考下2022-07-07一些Oracle數(shù)據(jù)庫中的查詢優(yōu)化建議綜合
這篇文章主要介紹了一些Oracle數(shù)據(jù)庫中的查詢優(yōu)化建議綜合,包括in和not in的使用等一些細(xì)節(jié)上的使用建議,需要的朋友可以參考下2016-01-01