最近做數據遷移工作,某個字段在源表中可爲空,在目標表中不能爲空。遷移數據的時候需要給查出的空值賦一個默認值。
用到的函數爲:
NVL(expr1,expr2)
expr1:可爲空的字段或者表達式。
expr2:null的替代值。
含義:如果表達式 expr1 爲空(NULL),則顯示錶達式 expr2 的值,若非空,則顯示expr1 的值。
select parentid,NVL(parentid,999) from PROPERTYRELATION (下圖第一列是原始數據,第二列是轉化後的數據,本例中該字段是數據。若爲字符串,則999需要加上單引號,'999')
類似的函數有:
NVL2(expr1,expr2, expr3)
含義:若第一個參數爲空,則顯示二個參數的值;若第一個參數不爲空,則顯示第三個參數的值。
NULLIF(exp1,expr2)
含義:如果第一個參數和第二個參數相等,則顯示空;否則顯示第一個參數的值。
COALESCE (expression_1, expression_2, ...,expression_n)
含義:依次參考各參數表達式,遇到非null值即停止並顯示該值。如果所有的表達式都是空值,最終將顯示一個空值。
---------------------
作者:帥師傅
來源:CSDN
原文:https://blog.csdn.net/shuaishifu/article/details/37062049
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!