PostgreSQL trunc() 函数

PostgreSQL trunc() 函数将指定的数字截断到指定的精度并返回结果。

trunc() 语法

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

trunc(numeric_value) -> integer

或者

trunc(numeric_value, scale) -> numeric

参数

numeric_value
必需的。 一个数字,它可以是正数、负数、或者零,它可以是整数,也可以是小数。
scale
可选的。 一个表示数字精度的整数。默认为 0

返回值

PostgreSQL trunc() 函数将指定的数字截断到指定的精度并返回结果。

如果参数 scale 位正整数,trunc() 函数将截断指定数字的小数部分到指定的位数。

如果参数 scale 位负整数,trunc() 函数将截断所有的小数位,并将整数部分的倒数 |scale| 位数字截断为 0

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

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

trunc() 示例

下面的示例演示了如何使用 trunc() 函数将数字截断为整数。

SELECT
    trunc(10.11) AS "trunc(10.11)",
    trunc(10.99) AS "trunc(10.99)";
 trunc(10.11) | trunc(10.99)
--------------+--------------
           10 |           10

下面的示例演示了如何使用 trunc() 函数将数字截断为 2 位小数。

SELECT
    trunc(10.1212, 2) AS "trunc(10.1212, 2)",
    trunc(10.9696, 2) AS "trunc(10.9696, 2)";
 trunc(10.1212, 2) | trunc(10.9696, 2)
-------------------+-------------------
             10.12 |             10.96

如果参数 scale 位负整数,trunc() 函数将截断所有的小数位,并将整数部分的倒数 |scale| 位数字截断为 0。例如:

SELECT
    trunc(1234, -2) AS "trunc(1234, -2)",
    trunc(1234.0, -2) AS "trunc(1234.0, -2)",
    trunc(1234.567, -2) AS "trunc(1234.567, -2)";
 trunc(1234, -2) | trunc(1234.0, -2) | trunc(1234.567, -2)
-----------------+-------------------+---------------------
            1200 |              1200 |                1200