PostgreSQL trunc() Function
The PostgreSQL trunc()
function truncates the specified number to the specified precision and returns the result.
trunc()
Syntax
This is the syntax of the PostgreSQL trunc()
function:
trunc(numeric_value) -> integer
or
trunc(numeric_value, scale) -> numeric
Parameters
numeric_value
-
Required. The number to truncate. It can be positive, negative, or zero, and it can be an integer or a decimal.
scale
-
Optional. An integer representing numeric precision. Default is
0
.
Return value
The PostgreSQL trunc()
function truncates the specified number to the specified precision and returns the result.
If the argument scale
is a positive integer, the trunc()
function truncates the fractional part of the specified number to the specified number of digits.
If the argument scale
is a negative integer, the trunc()
function truncates all decimal places and replaces the last |scale|
-th numbers of integer part with 0
.
The trunc()
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.
trunc()
Examples
The following example demonstrates how to use the trunc()
function to truncate a number to an integer.
SELECT
trunc(10.11) AS "trunc(10.11)",
trunc(10.99) AS "trunc(10.99)";
trunc(10.11) | trunc(10.99)
--------------+--------------
10 | 10
The following example shows how to use the trunc()
function to truncate a number to 2 decimal places.
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
Let us see a examples with a is a negative scale argument:
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