在写sql过程中竟然发现了一个oracle中decode和聚合函数连用的BUG.
来说一下:
先建一张临时的测试表
create table test (ID number,value varchar2(10));
insert into test values(1,0);
insert into test values(2,50);
insert into test values(3,100);
insert into test values(4,200);
select a.*,a.rowID from test a;
查询结果如下:
在这里求value列的最大值,毋庸置疑的是200,
求value列的最小值,一定是0.
但是:
select max(decode(value,null,value)) from test;
用这条SQL查询出的最大值确是50.
select min(decode(value,value)) from test;
用这条SQL查询出来的最小值确是100.
估计就是oracle的BUG.
似乎是只在固定几个值时发生这种情况,0、50、100、NulL,decode与max、min连用。
总结以上是内存溢出为你收集整理的oracle decode与聚合函数连用bug全部内容,希望文章能够帮你解决oracle decode与聚合函数连用bug所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)