PostgreSQL scale() 函数使用指南

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

scale() 语法

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

scale(numeric_value) -> integer

参数

numeric_value
必需的。 一个数字。

返回值

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

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

如果参数为 NULLscale() 函数将返回 NULL

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

scale() 示例

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

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

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

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

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

如果参数是一个整数,scale() 函数将会返回 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