Arithmetic operators: +, -, *, /
These operators implement addition, subtraction, multiplication, and division on the supported numeric data types. For decimal data types, the result’s precision and scale are shown in Table 6‑7. d1 represents an operand expression with precision p1 and scale s1, and d2 represents an operand expression with precision p2 and scale s2. The result’s precision and scale may be truncated due to database limitations.
Table 6‑7 Precision and scale of arithmetic operation results 
Operation
Result’s precision
Result’s scale
d1 + d2
max(s1, s2) + max(p1-s1, p2-s2) + 1
max(s1, s2)
d1 - d2
max(s1, s2) + max(p1-s1, p2-s2) + 1
max(s1, s2)
d1* d2
p1 + p2 + 1
s1 + s2
d1 / d2
p1 - s1 + s2 + max(6, s1 + p2 + 1)
max(6, s1 + p2 + 1)
Integer arithmetic operations are performed using 32-bit two’s-complement semantics. Floating point operations are performed according to the IEEE double precision standard.
These general rules apply to operations handled by the Integration service. Operations delegated to remote data sources may vary in their semantics.
Table 6‑8 shows the result type of using arithmetic operators with each operand type.
Table 6‑8 Result data types for using arithmetic operators with various operand types 
Left operand type
Right operand type
Result type
Integer
Integer
Integer
Decimal
Decimal
Decimal
Double
Double
Double