Oracle中nvl函数的用法

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的数据类型匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值