home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC64092 Status: Closed

THE ROUND SQL FUNCTION CAN RETURN THE WRONG RESULT ON A DECFLOAT INPUT
VALUES OF Infinity/-Infinity

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
The scenario can be re-created as follows: 
 
 
Table creation: create table dectest (col1 decfloat(34)); 
Insert special values like Infinity/-Infinity: insert into 
dectest values(Infinity),(-Infinity) 
 
The ROUND function may return Nan instead of Infinity/-Infinity. 
The output appears as follows: 
 
 
select col1,ROUND(col1,5) from dectest 
 
COL1        2 
 
------------------------------------------ 
------------------------------------------ 
     Infinity 
        NaN    (wrong result we expect Infinity) 
SQL0364W  DECFLOAT exception "INVALID OPERATION" has occurred 
during "BUILT-IN 
FUNCTION" operation.  SQLSTATE=0168D 
          -Infinity 
       NaN  (wrong result , expect: -Infinity) 
SQL0364W  DECFLOAT exception "INVALID OPERATION" has occurred 
during "BUILT-IN 
FUNCTION" operation.  SQLSTATE=0168D
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ROUND SQL FUNCTION on DECFLOAT with INFINITY VALUE           * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* THE ROUND SQL FUNCTION CAN RETURN THE WRONG RESULT ON        * 
* ADECFLOATINPUT VALUES OF Infinity/-Infinity                  * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* install this fix                                             * 
****************************************************************
Local Fix:
Rewrite the SQL query  to have a case statement which avoids 
using the ROUND function on these 
special values.
available fix packs:
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
THE ROUND SQL FUNCTION CAN RETURN THE WRONG RESULT ON A DECFLOAT 
INPUT VALUES OF Infinity/-Infinity
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
22.10.2009
31.05.2010
31.05.2010
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.2 FixList