Specifies the maximum number of digits in the result of any decimal arithmetic.

Allowed values

Integer, between 1 and 127, inclusive

Default

30

Scope

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 |

Remarks

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.