Firebird Documentation Index → Firebird 2.5 Language Ref. Update → Internal functions → 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
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.
Firebird Documentation Index → Firebird 2.5 Language Ref. Update → Internal functions → TRUNC() |