Oracle 数据库中null字段赋值方法

最近做数据迁移工作,某个字段在源表中可为空,在目标表中不能为空。迁移数据的时候需要给查出的空值赋一个默认值。

用到的函数为:

NVL(expr1,expr2)
expr1:可为空的字段或者表达式。
expr2:null的替代值。

含义:如果表达式 expr1 为空(NULL),则显示表达式 expr2 的值,若非空,则显示expr1 的值。

select parentid,NVL(parentid,999) from PROPERTYRELATION  (下图第一列是原始数据,第二列是转化后的数据,本例中该字段是数据。若为字符串,则999需要加上单引号,'999')

Oracle 数据库中null字段赋值方法_第1张图片

类似的函数有:

NVL2(expr1,expr2, expr3)

含义:若第一个参数为空,则显示二个参数的值;若第一个参数不为空,则显示第三个参数的值。

NULLIF(exp1,expr2)

含义:如果第一个参数和第二个参数相等,则显示空;否则显示第一个参数的值。

COALESCE (expression_1, expression_2, ...,expression_n)

含义:依次参考各参数表达式,遇到非null值即停止并显示该值。如果所有的表达式都是空值,最终将显示一个空值。
--------------------- 
作者:帅师傅 
来源:CSDN 
原文:https://blog.csdn.net/shuaishifu/article/details/37062049 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(数据库)