您好,登錄后才能下訂單哦!
今天研究了一下數據庫中的過程,發現用到NVL這個函數,我記憶力不好,之前用過,長期不用又忘了。于是去查看了下官方的用法解釋:
http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions119.htm#i91798
NVL屬于字符轉化輸出也是字符類型的。
表達式為NVL(expr1,expr2)
其目的就是為了轉化"空"字符為"非空"字符,當expr1為空時,輸出expr2,相反則輸出expr1.
原文中提到expr1和expr2的可以是任意數據類型,如果兩者的數據類型不一致,則會進行類型轉化,
其轉化的原則遵循:
1、如果expr1是字符類型,則在進行比較前將expr2轉化成expr1的類型,并以varchar2類型返回字符集。
2、如果expr1是數值類型,則由Oracle自身根據最高優先級判斷,將數據類型轉化為高優先的數據類型,
并且最終以該類型返回數據。
舉例:
SELECT NVL(MAX(ID), 0) FROM WAYBILL;
這個意思表示當WAYBILL表的中最大ID為空的時候返回0。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。