meta data for this page
  •  

TRUNC()

Available in: DSQL, PSQL

Added in: 2.1

Description

Returns the integer part of a number. With the optional scale argument, the number can be truncated to powers-of-ten multiples (tens, hundreds, tenths, hundredths, etc.) instead of just integers.

Result type: INTEGER, (scaled) BIGINT or DOUBLE

Syntax

TRUNC (<number> [, <scale>])

<number> ::= a numerical expression
<scale>  ::= an integer specifying the number of decimal places
            toward which should be truncated, e.g.:
              2 for truncating to a multiple of 0.01
              1 for truncating to a multiple of 0.1
              0 for truncating to a whole number
             -1 for truncating to a multiple of 10
             -2 for truncating to a multiple of 100

Notes:

  • If the scale argument is present, the result usually has the same scale as the first argument, e.g.
    • TRUNC(789.2225, 2) returns 789.2200 (not 789.22)
    • TRUNC(345.4, -2) returns 300.0 (not 300)
    • TRUNC(-163.41, 0) returns -163.00 (not -163)

Otherwise, the result scale is 0:

  • TRUNC(-163.41) returns -163

Important: If you are used to the behaviour of the external function TRUNCATE, please notice that the internal function TRUNC always truncates toward zero, i.e. upward for negative numbers.