易截截图软件、单文件、免安装、纯绿色、仅160KB

关于oracle中使用nvl函数时,对空字符串的理解

 昨天下班之前在程序中遇到了一个使用nvl的sql语句,相信这个函数大家都应该使用过,并且应该是很简单的。
因为之前做的数据库移植时遇到过这个问题,所以今天拿来在这里记载一下。
其中有一段where条件是这样的:
and ((nvl('', ' ') <> ' ' and a.benifitvchno like '%%') or
       (nvl('', ' ') = ' ' and a.benifitvchno like '%'))
以上是在plsql中打出的,基本上的意思就是如果a.benifitvchno是空值的话,下面的条件会成立,
如果有值的话上面的语句会成立。实际上在nvl后面的‘’中应该是那个a.benifitvchno的值,因为在这里是空,所以显示为‘’。
这里要着重说明的是oracle对于‘’的处理默认是null的,而‘ ’才是空字符串,(前面是‘’,后面是‘ ’,这里区别是后者中间有空格),所以就是这里是有区别的,因此如果将上面语句写为都是没有空格的‘’,结果肯定是不对的。
补充:今天在csdn上问了下,
       可以使用以下语句实验:
      (1)
select

1

from
dual
where
nvl(
''
,
''
)
=

''
        (2)select
1 from
dual where
nvl('', '') is null
      以上两句中第一句不会有值,第二句才会有值。
      正像
wh62592855
朋友说的:null=null,返回应该是FALSE。只要记住NULL不等于任何值就是了,也不等于NULL。
特此非常感谢
wildwave,
wh62592855
两位朋友的解答。
                        


相关文档:

不用安装Oracle Client如何使用PLSQL Developer

 http://www.cnblogs.com/sleepywang/archive/2009/10/13/1582654.html
1. 下载oracle的客户端程序包(30M)
      
只需要在
Oracle
下载一个叫
Instant Client Package
的软件就可以了,这个软件不需要安装,只要解压就可以用了,很方便,就算重装了系统还是可以用的。
  ......

ORACLE常用转换函数、数值函数、字符串函数介绍

本文来自:WWW.NC21.CN  新世纪平台网  
本文更多将会介绍三思在日常中经常会用到的,或者虽然很少用到,但是感觉挺有意思的一些函数。分二类介绍,分别是:
  著名函数篇 -经常用到的函数
  非著名函数篇-即虽然很少用到,但某些情况下却很实用
  注:N表示数字型,C表示字符型,D表示 ......

oracle 回退段 ORA

回滚段用于对数据库修改时, 保存原有的数据, 以便稍后可以通过使用ROLLBACK来恢复到修改前的数据; 另外, 回滚段可以为数据库中的所有进程提供读一致性. 因此, 回滚段设置的合理与否, 直接影响到数据库的性能.
回滚段的维护及查询
(1) 创建回滚段
__CREATE ROLLBACK SEGMENT RB01
__TABLESPACE RBS1
__STORAGE (
____I ......

oracle 存储过程的基本语法

oracle 存储过程的基本语法 及注意事项
oracle 存储过程的基本语法
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
    参数1 IN NUMBER,
    参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
  将selec ......

Oracle BAM原理简介

 Oracle BAM全称为Oracle Busines Activity Monitoring,中文叫Oracle 业务活动监视
,BAM有两种功能
    1.创建实时report
    2.创建基于一定规则的alert
 BAM最大的特点就是,它的功能都是实时的,任意的数据变化,他都能实时的反应到正在显示的report上去,也能立刻触发al ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号