× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Ah...sorry...taking a look at your code...

The problem is probably the CASE statement...

decimal(
case
when a.numMonthsActive = 0 then 0
else ROUND(a.sumQtyShip / a.numMonthsActive,2)
end,
8,2) ShipQtyPerMonth

specifically, the "then 0"

DB2 takes the data type from the first expression...

try "then 0.00"

Charles

On Tue, Oct 23, 2018 at 4:31 PM Steve Richter <stephenrichter@xxxxxxxxx>
wrote:

but all the columns are decimal. I am just guessing that the system is
behaving like they are INT. Very unpredictable behavior by SQL.


On Tue, Oct 23, 2018 at 5:13 PM Charles Wilt <charles.wilt@xxxxxxxxx>
wrote:

If you have two INTs as operands, you get an INT back...

Simple enough...from Rob's First link...

- Two integer operands
<

https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/db2/rbafz2intoper.htm?view=kc

If both operands of an arithmetic operator are integers with zero
scale,
the operation is performed in binary, and the result is a large
integer
unless either (or both) operand is a big integer, in which case the
result
is a big integer. Any remainder of division is lost. The result of an
integer arithmetic operation (including *unary minus*) must be within
the range of large or big integers. If either integer operand has
nonzero
scale, it is converted to a decimal operand with the same precision
and
scale.


- Integer and decimal operands
<

https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/db2/rbafzintdecoper.htm?view=kc

If one operand is an integer with zero scale and the other is decimal,
the operation is performed in decimal using a temporary copy of the
integer
that has been converted to a decimal number with precision and scale
0.


On Tue, Oct 23, 2018 at 1:50 PM Steve Richter <stephenrichter@xxxxxxxxx>
wrote:

On Tue, Oct 23, 2018 at 3:29 PM Rob Berendt <rob@xxxxxxxxx> wrote:

General rules are here




https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/db2/rbafzwarithop.htm
and here




https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/db2/rbafznumass.htm
It would help to know the exact type of the source variables:
a.numMonthsActive, a.sumQtyShip


both of those values are returned from sql functions that return
decimal.
For some reason the system must have coerced the values to INT.

CREATE OR REPLACE FUNCTION hsdet_SumShipQty(
inCono decimal(2,0),
inItno char(27),
inFromDate date,
inToDate date,
inWhid char(2) default ' ')
RETURNS decimal(7,0)
language sql

CREATE OR REPLACE FUNCTION hsdet_NumMonthsActive(
inCono decimal(2,0),
inItno char(27),
inFromDate date,
inToDate date,
inWhid char(2))
RETURNS decimal(5,0)
language sql
--
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,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

--
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,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

--
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,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.