oracle decode与聚合函数连用bug
在写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连用。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |