oracle decode与聚合函数连用bug

oracle decode与聚合函数连用bug,第1张

概述在写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

在写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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1159643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存