meta data for this page
TRUNC()
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.