null不能和任何东西比较,这是没有意义的,null和他们比较不会产生逻辑值!
如果你那个字段需要比较。就不要允许为null值。或者在查入数据的时候如果没输那个数据。自定义为0!
如果你那个字段需要比较。就不要允许为null值。或者在查入数据的时候如果没输那个数据。自定义为0!
解决方案 »
- PROC编程每次都要EXEC SQL COMMIT WORK RELEASE这句过后才能真正入库?
- 为什么我的oracle9i里没有oracle enterprise manager console??
- oracle 菜鸟问题,按题给分。
- 数据库恢复正常
- oracle事务问题
- 200MB的数据入blob多长时间是正常的?
- 列出ORACLE客户端注册的服务名
- 请问从oracle外部如何导入数据库文件进oracle数据库,如.dbf .mdb等
- 有谁知道dmp文件的格式,给个提示?
- 请问下从多个表提取数据出来的查询语句,如何将游标中的值提取出来
- 如何把sybase中的image数据导入到oracle中的blob中?
- 急求sql语句,或不能实现的原因
B=null
IF A==B //这样是错误的,你不要以为他会产生逻辑 “否”
你可以在之前做判断赋值后在做比较
A=1
B=nullIF (B==null) B=0
IF A==B 这样就可以比较了。。我也是初学的,说的不对请指正!
再有:我发现java中的""传到oracle中成了null,(符合 is null 条件),而不是我预想的‘’。但是对与varchar2类型的数据来说,‘’与null肯定是不同的。所以,当我在jdbc调用存储过程时候,传给存储过程的varchar2类型的参数,比如我本例子中的v_col为java中的“”时,我都不知到到了存储过程中到底是''和null在比较(假设此时cola的值是null),还是null和null在比较。
说明:我在jdbc中insert into table1(cola ....) values('"+""+"',....)之后,数据库中新插入的记录里,cola 符合is null条件,这个事实千真万确!
诸多不明之处,请大侠么指教一二。因为编程时候一旦碰上这累问题,就会大费脑筋!
楼主能否帖出下面这条SQL在sqlplus中的运行结果?select nvl(cola,'aaaa'),nvl(v_col,'bbbb') from tabName;
如果=号的两边至少有一个是‘’,或者null,这个等于比较就会返回false;
大侠门,对么?
,对吗?
这些细节问题挺折磨人的呢
Select Null||'x ' from dual
Select ''||'x' From dual 这两个sql都返回‘x’,可能你机错了某些规则。请以你的经验继续指点
我的这个问题。
谢谢