This: (100 * Number_Deleted_Rows / ( Number_Rows + Number_Deleted_Rows ) )
may NOT return the result you expect!
100 has no decimal positions and in this way it is considered as being
integer, so the result will be an integer again with truncated numbers!
For example: (100 * 1000 / 1000000) will return 0 (without decimal
While (100.0 * 1000 / 1000000) will return 0.1
Mit freundlichen Grüßen / Best regards
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
[mailto:midrange-l-bounces@xxxxxxxxxxxx] Im Auftrag von Robert Clay
Gesendet: Monday, 16.9 2013 21:45
An: midrange-l@xxxxxxxxxxxx; midrange-l@xxxxxxxxxxxx
Betreff: Re: Need assistance with SQL statement over QSYS2.SYSTABLESTAT
Combined with the other suggestions, how about this?
WHEN ( Number_Deleted_Rows = 0 ) THEN 0
WHEN ( Number_Rows = 0 ) AND ( Number_Deleted_Rows > 0 ) THEN
WHEN Number_Rows = Number_Deleted_Rows THEN
ELSE (100 * Number_Deleted_Rows / ( Number_Rows +
Number_Deleted_Rows ) )
AS DECIMAL( 5 , 2 )
) AS Percent_Deleted
Might not even need the third WHEN.
"Contrariwise, if it was so, it might be; and if it were so, it would be;
but as it isn't, it ain't. That's logic."--Tweedledee On 09/16/2013 2:40 PM,
Scott Mildenberger wrote:
Your first two whens can be combined into one
WHEN Number_Deleted_Rows = 0 THEN 0
Also, your very last when doesn't return 'Percent deleted', consider 1 Row
and 5 deleted. Returns 20%. The more deleted the smaller the percent, is
that what you really want? You may be able to use the when before that as
an ELSE catchall.
Davis Transport Inc.
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at http://archive.midrange.com/midrange-l