Determining precision and scale

For the numeric and decimal types, each combination of precision and scale is a distinct Adaptive Server datatype. If you perform arithmetic on two numeric or decimal values, n1 with precision p1 and scale s1, and n2 with precision p2 and scale s2, Adaptive Server determines the precision and scale of the results as shown in Table 6-5:

Table 6-5: Precision and scale after arithmetic operations

Operation

Precision

Scale

n1 + n2

max(s1, s2) + max(p1 -s1, p2 - s2) + 1

max(s1, s2)

n1 - n2

max(s1, s2) + max(p1 -s1, p2 - s2) + 1

max(s1, s2)

n1 * n2

s1 + s2 + (p1 - s1) + (p2 - s2) + 1

s1 + s2

n1 / n2

max(s1 + p2 + 1, 6) + p1 - s1 + s2

max(s1 + p2 + 1, 6)