程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle的nvl函數的使用介紹,oraclenvl函數

oracle的nvl函數的使用介紹,oraclenvl函數

編輯:Oracle教程

oracle的nvl函數的使用介紹,oraclenvl函數


Oracle的Nvl函數

nvl( ) 函數

從兩個表達式返回一個非null 值。

語法

NVL(eExpression1, eExpression2)

參數

eExpression1, eExpression2

如 果 eExpression1 的計算結果為 null 值,則 NVL( ) 返回 eExpression2。如果 eExpression1 的計算結果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數據類型。如果 eExpression1 與 eExpression2 的結果皆為 null 值,則 NVL( ) 返回 .NULL.。

返回值類型

字符型、日期型、日期時間型、數值型、貨幣型、邏輯型或 null 值

說明

在不支持 null 值或 null 值無關緊要的情況下,可以使用 NVL( ) 來移去計算或操作中的 null 值。

select nvl(a.name,'空得') as name from student a joinschool b on a.ID=b.ID

注意:兩個參數得類型要匹配

問:什麼是NULL?

答:在我們不知道具體有什麼數據的時候,也即未知,可以用NULL,

我們稱它為空,ORACLE中,含有空值的表列長度為零。

ORACLE允許任何一種數據類型的字段為空,除了以下兩種情況:

1、主鍵字段(primary key),

2、定義時已經加了NOT NULL限制條件的字段

說明:

1、等價於沒有任何值、是未知數。

2、NULL與0、空字符串、空格都不同。

3、對空值做加、減、乘、除等運算操作,結果仍為空。

4、NULL的處理使用NVL函數。

5、比較時使用關鍵字用“is null”和“is not null”。

6、空值不能被索引,所以查詢時有些符合條件的數據可能查不出來,

count(*)中,用nvl(列名,0)處理後再查。

7、排序時比其他數據都大(索引默認是降序排列,小→大),

所以NULL值總是排在最後。


Oracle中nvl函數的用法與作用是什?

如果是空值就替換成另一個值
如nvl(字段,‘x’)字段值等於null就這個函數得到的結果就是'x',一般用於存在空值比較的情況下,比如字段a與字段b都是int型,其中一個等於null另一個為非空值,你使用a<>b是不成立的,使用此條件查詢你將丟失這條本來不相等的數據,可以如此用法nvl(字段,-1)<>nvl(字段,-1),這樣就可以得到想要查詢的數據,當然查詢數據的前提是此字段值不能有-1值才能用這種寫法
 

oracle中nvl()函數有什用?

如果你某個字段為空,但是你想讓這個字段顯示0
nvl(字段名,0),就是當你選出來的時候,這個字段雖然為空,但是顯示的是0,當然這個0也可以換成其他東西,如:1,2,3……
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved