IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Getting diff values for the same filter criteria using float


IBM Mainframe Forums -> DB2
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Furor

New User


Joined: 04 Jun 2009
Posts: 30
Location: Bangalore

PostPosted: Wed May 12, 2010 3:10 pm
Reply with quote

I was in the process of optimizing a query, for that i had to negate a column so that the index doesn't participate in the execution.

Previous Query:

Code:
SELECT COUNT(*),                                     
       SUM(X),                           
       SUM(FLOAT(Y)),                 
       SUM(Z)                                   
   FROM T1 A , T2 B
   WHERE A.HIST = 'H'
    AND B.CD = 'ABC'                 
     AND A.ID = B.ID                         
     AND A.DT = '04/26/2010';   


Results:
Code:
38616                  3109401.380000  -0.1518154911700070E+09   4152744718.859000


New Query :

Code:
SELECT COUNT(*),                                     
       SUM(X),                           
       SUM(FLOAT(Y)),                 
       SUM(Z)                                   
   FROM T1 A , T2 B
   WHERE (A.HIST = 'H' OR 0=1)
    AND B.CD = 'ABC'                 
     AND A.ID = B.ID                         
     AND A.DT = '04/26/2010';         


Results:
Code:
38616                  3109401.380000  -0.1518154911700006E+09   4152744718.859000


I am unable to identify why there is differnce in the value of SUM(FLOAT(Y)),

Code:
-0.1518154911700070E+09
-0.1518154911700006E+09
Back to top
View user's profile Send private message
GuyC

Senior Member


Joined: 11 Aug 2009
Posts: 1281
Location: Belgium

PostPosted: Wed May 12, 2010 5:11 pm
Reply with quote

have you tried with SUM(decFLOAT(Y,34)) ?
Back to top
View user's profile Send private message
ashimer

Active Member


Joined: 13 Feb 2004
Posts: 551
Location: Bangalore

PostPosted: Wed May 12, 2010 9:47 pm
Reply with quote

What about
Code:

FLOAT(SUM(Y))


?

What is your DB2 Version ?
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Wed May 12, 2010 9:57 pm
Reply with quote

floating point numbers are approximate,
in general, for approximate numbers the order of operations makes a difference
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DB2

 


Similar Topics
Topic Forum Replies
No new posts INCLUDE OMIT COND for Multiple values... DFSORT/ICETOOL 5
No new posts Replace Multiple Field values to Othe... DFSORT/ICETOOL 12
No new posts Null values are considered in Total c... DFSORT/ICETOOL 6
No new posts Help to Filter File Manager Copybook ... DFSORT/ICETOOL 14
No new posts Converting ASCII values to COMP-3 (ZD... JCL & VSAM 2
Search our Forums:

Back to Top