Specifies the maximum number of digits in the result of any decimal arithmetic.
Integer, between 1 and 127, inclusive
30
PUBLIC role | For current user | For other users | |
---|---|---|---|
Allowed to set permanently? | Yes, with SET ANY PUBLIC OPTION | No | No |
Allowed to set temporarily? | No | No | No |
Precision is the total number of digits in a number and does not include the decimal point. The scale option specifies the minimum number of digits after the decimal point when an arithmetic result is truncated to the maximum precision. For example, the number 3.1415926 has a precision of 8 and a scale of 7.
Multiplication, division, addition, subtraction, and aggregate functions can all have results that exceed the maximum precision.
For example, when a DECIMAL(8,2) is multiplied with a DECIMAL(9,2), the result could require a DECIMAL(17,4). If precision is 15, only 15 digits are kept in the result. If scale is 4, the result is a DECIMAL(15,4). If scale is 2, the result is a DECIMAL(15,2). In both cases, there is a possibility of overflow.