码迷,mamicode.com
首页 > 数据库 > 详细

oracle decode与聚合函数连用bug

时间:2019-08-09 13:47:04      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:var   char   creat   技术   sql   rac   估计   http   tab   

在写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,0,null,value)) from test;
技术图片
用这条sql查询出的最大值确是50.

 

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

技术图片
 用这条sql查询出来的最小值确是100.

估计就是oracle的bug.

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

oracle decode与聚合函数连用bug

标签:var   char   creat   技术   sql   rac   估计   http   tab   

原文地址:https://www.cnblogs.com/DreamFather/p/11326396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!