DECIMAL stores numbers with a decimal point at arbitrary width, preserving their exact value. It suits monetary values and other calculations where FLOAT or DOUBLE rounding errors are unacceptable. section 4.2.2
Choose DECIMAL when numeric accuracy or unusually large values matters:
- Use DECIMAL for monetary values when rounding errors from limited-precision FLOAT and DOUBLE types would be harmful. section 4.2.2
- Use an integer base unit, such as cents, when storing money as an integer and formatting it later is more appropriate. section 4.2.2
- Use DECIMAL or VARINT when values may exceed the range of BIGINT or require arbitrarily large numeric sizes. section 4.2.2




