Oracle NVL函数的用法
今天研究了一下數(shù)據(jù)庫中的過程,發(fā)現(xiàn)用到NVL這個函數(shù),我記憶力不好,之前用過,長期不用又忘了。于是去查看了下官方的用法解釋:
http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions119.htm#i91798
?
NVL屬于字符轉(zhuǎn)化輸出也是字符類型的。
表達(dá)式為NVL(expr1,expr2)
?
其目的就是為了轉(zhuǎn)化"空"字符為"非空"字符,當(dāng)expr1為空時,輸出expr2,相反則輸出expr1.
?
原文中提到expr1和expr2的可以是任意數(shù)據(jù)類型,如果兩者的數(shù)據(jù)類型不一致,則會進行類型轉(zhuǎn)化,
其轉(zhuǎn)化的原則遵循:
1、如果expr1是字符類型,則在進行比較前將expr2轉(zhuǎn)化成expr1的類型,并以varchar2類型返回字符集。
2、如果expr1是數(shù)值類型,則由Oracle自身根據(jù)最高優(yōu)先級判斷,將數(shù)據(jù)類型轉(zhuǎn)化為高優(yōu)先的數(shù)據(jù)類型,
???? 并且最終以該類型返回數(shù)據(jù)。
?
舉例:
SELECT NVL(MAX(ID), 0)? FROM WAYBILL;
這個意思表示當(dāng)WAYBILL表的中最大ID為空的時候返回0。
轉(zhuǎn)載于:https://blog.51cto.com/onlinekof2001/1599194
總結(jié)
以上是生活随笔為你收集整理的Oracle NVL函数的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu下apt-get命令详解
- 下一篇: ASP.NET MVC 5 入门教程 (