PostgreSQL scale() Function
The PostgreSQL scale() function returns the number of decimal digits in the fractional part for a given number.
scale() Syntax
This is the syntax of the PostgreSQL scale() function:
scale(numeric_value) -> integer
Parameters
- numeric_value
- 
Required. The number to process. 
Return value
The PostgreSQL scale(numeric_value) function returns the number of decimal digits in the fractional part for a given number.
If the argument is an integer, the scale() function will return 0.
The scale() function will return NULL if the argument is NULL.
PostgreSQL will give an error if you supply a parameter that is not a numeric type.
scale() Examples
Here are a few examples of the scale() function:
This statement uses the scale() function to get the number of decimal digits in fractional part of 1.23000:
SELECT scale(1.23000) AS "scale(1.23000)";
 scale(1.23000)
----------------
              5Note that this function is different from the min_scale() function, which returns the smallest number of decimal places that can accurately represent a number, for example:
SELECT min_scale(1.23000) AS "min_scale(1.23000)";
 min_scale(1.23000)
--------------------
                  2If the argument is an integer, the scale() function will return 0.
SELECT
    scale(0) AS "scale(0)",
    scale(1) AS "scale(1)",
    scale(2) AS "scale(2)",
    scale(123) AS "scale(123)";
 scale(0) | scale(1) | scale(2) | scale(123)
----------+----------+----------+------------
        0 |        0 |        0 |          0