加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 百科 > 正文

oracle decode与聚合函数连用bug

发布时间:2020-12-31 14:41:27 所属栏目:百科 来源:网络整理
导读:在写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;

查询结果如下:

oracle decode与聚合函数连用bug


?在这里求value列的最大值,毋庸置疑的是200,

求value列的最小值,一定是0.

但是:

select max(decode(value,null,value)) from test;

oracle decode与聚合函数连用bug


用这条sql查询出的最大值确是50.

?

select min(decode(value,value)) from test;

oracle decode与聚合函数连用bug


?用这条sql查询出来的最小值确是100.

估计就是oracle的bug.

似乎是只在固定几个值时发生这种情况,0、50、100、NULL,decode与max、min连用。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读