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

Oracle:1 not in (null)检索不出结果

in/not   in在判断NULL时用的与=/<>一样的方式,即必须用is   null来判断,否则始终为失败。  
  语句  
  select   'true'   from   dual   where   (1,2)   not   in   ((2,3),(2,null));  
  成功的原因在于判断二元值时首先判断其中一个非null元素,该元素成功或者失败会“短路”另一个个。由于上述第一个元素就使not   in成功了,因此第二个元素就不再处理。  
  语句  
  select   'true'   from   dual   where   (2,1)   not   in   ((2,3),(2,null));  
  的第一个元素没有造成“短路”,因此引起了null判断,从而结果始终为失败。  
  请再实验语句  
  select   'true'   from   dual   where   (2,1)   not   in   ((2,3),(null,3));  
  其结果为true,原因是第二个元素短路了第一个元素。  
   
  以上分析纯属个人观点,仅供参考。
转自http://topic.csdn.net/t/20041230/12/3688313.html


相关文档:

用 java调用oracle存储过程总结

1、什么是存储过程。存储过程是数据库服务器端的一段程序,它有两种类型。一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返
回给客户。另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。有的服务器允许同一个存储过程既可以返回数据又可以执行动作。
2、什么时候需要用存储过程
......

快速删除oracle重复记录


总结了一下删除重复记录的方法,以及每种方法的优缺点。
假设表名为Tbl,表中有三列col1,col2,col3,其中col1,col2是主键,并且,col1,col2上加了索引。
1、通过创建临时表
可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL语句如下:
creat table tbl_tmp (select distinct* from tb ......

北大青鸟oracle学习笔记16

PL/SQL
 
块结构
DECLARE
         声明部分
BEGIN
         可执行部分
EXCEPTION
         异常处理部分
END;
 
例:
首先我们看一个简单之例子,下面这个例子是统计从1 ......

C#中操作Oracle时的SQL语句参数的用法

C#中操作Oracle时的SQL语句参数的用法
OracleTransaction myTrans ;
            conn.Open();
            myTrans =conn.BeginTransaction(IsolationLevel.ReadCommitted) ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号