Skip to content

PostgreSQL scale() 函数 ​

PostgreSQL scale() 函数返回给定数字的小数位数。

scale() 语法 ​

这里是 PostgreSQL scale() 函数的语法:

sql
scale(numeric_value) -> integer

参数 ​

  • numeric_value

    必需的。 一个数字。

返回值 ​

PostgreSQL scale(numeric_value) 函数返回给定数字 numeric_value 的小数位数。

如果参数是一个整数,scale() 函数将会返回 0。

如果参数为 NULL,scale() 函数将返回 NULL。

如果您提供了一个不是数字类型的参数,PostgreSQL 将给出一个错误。

scale() 示例 ​

这里有几个 scale() 函数的示例。

这个语句使用 scale() 函数获取 1.23000 的小数位数:

sql
SELECT scale(1.23000) AS "scale(1.23000)";
sql
 scale(1.23000)
----------------
              5

注意,此函数与 min_scale() 函数不同, min_scale() 函数返回的是能精确表示数字的最小的小数位数。比如:

sql
SELECT min_scale(1.23000) AS "min_scale(1.23000)";
sql
 min_scale(1.23000)
--------------------
                  2

如果参数是一个整数,scale() 函数将会返回 0。

sql
SELECT
    scale(0) AS "scale(0)",
    scale(1) AS "scale(1)",
    scale(2) AS "scale(2)",
    scale(123) AS "scale(123)";
sql
 scale(0) | scale(1) | scale(2) | scale(123)
----------+----------+----------+------------
        0 |        0 |        0 |          0