Oracle一则诡异的程序


今天检查程序的时候,发现一个诡异的问题。如下所示。

  function chkA_B return varchar2 as

  a   varchar2(10):=NULL;

  b   varchar2(10):='1';

  begin

  if a=b then

  return 'Error';

  end if;

  return 'ok';

  end;

  这段程序诡异地返回ok,而不是Error. 通过跟踪,程序进入了 return 'error' .但是紧接着也执行了return 'ok'.

  如果将if 的条件改为 if nvl(a,'0')=b 则程序正常。

  上述诡异程序是在9i上测试的。不知后续版本是否有所改变,没有测试



相关阅读:
帮助你好好学习CSS的“边”和“内容”
基于jquery的高性能td和input切换并可修改内容实现代码
用UNetbootin轻松把Linux操作系统装进U盘
用ASP实现IE地址栏参数的判断
10个非常有用但是IE浏览器不能使用的CSS属性
css box-shadow阴影不透明的解决办法
用JavaScript实现窗口从天而降效果
ExtJs事件机制基本代码模型和流程解析
sql server动态连接odbc的dsn
JQuery操作表格(隔行着色,高亮显示,筛选数据)
asp.net TemplateField模板中的Bind方法和Eval方法
初次远程做Linux Iptables规则注意事项
Linux中find和perl方法实现文件内容替换
用js模拟JQuery的show与hide动画函数代码
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4