ITPub博客

首页 > 数据库 > Oracle > Oracle中nvl函数的用法 VelHong

Oracle中nvl函数的用法 VelHong

Oracle 作者:ligxexim 时间:2013-12-28 11:10:17 0 删除 编辑

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


<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8780853/viewspace-1115178/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-11-23