NVL函数:
空值处理函数。可以将为空的列,以不为空的形式显示出来
将一个null值转换为一个实际的值
因为null值的特点:不参加计算,不参加统计,与任何数字相加都为空。
一个数字-null=一个数
null- 一个数字=null
一个数+null=null
格式为: NVL( string1, replace_with)
功能:如果string1为NULL或者是空字符串'',则NVL函数返回replace_with的值,否则返回string1的值。
注意事项:
1、所判断的参数string1包括NULL和‘’这两种形式的空值
2、数据类型必须匹配,即string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数。
例:NVL(TO_CHAR(numeric_column), 'some string')
其中numeric_column代指某个数字类型的值。
nvl能够转换任何数据类型,但是转换的数据类型返回值必须是nvl(expr1,expr2)第一个参数expr的类型。如:date,number, varchar2 or char
例:nvl(txnAmt,0) > 0 NVL(txnAmt, 0) 的意思是 如果 交易金额txnAmt 是NULL, 则取 0值
nvl函数的扩展:nvl2函数
nvl2(expr1,expr2,expr3)的功能为:如果expr1不是null,则返回expr2;
如果expr1是null,则返回expr3。
参数expr1可以是任意数据类型,而expr2和expr3可以是除long之外的任何数据类型。但注意,expr2、expr3的数据类型必须要与expr1的数据类型匹配。