TRUNC()

<< TRIM() | FB 2.5 Language Reference | UPPER() >>
<< TRIM() | FB 2.1 Language Reference | UPPER() >>

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.

See also:
ROUND

back to top of page
<< TRIM() | FB 2.5 Language Reference | UPPER() >>
<< TRIM() | FB 2.1 Language Reference | UPPER() >>