New versions: Dev (3.14) | Latest (3.13) | 3.12 | 3.11 | 3.10 | 3.9 | 3.8 | Old versions: 3.7 | 3.6 | 3.5 | 3.4 | 3.3

TRUNC

Applies to ✅ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

The TRUNC() function rounds a numeric value to its nearest integer (or optionally, to a specific decimal precision) that is closer to zero.

SELECT 
  trunc(1.7), 
  trunc(-1.7);
create.select(
  trunc(1.7), 
  trunc(-1.7)).fetch();

The result being

+-------+-------+
| trunc | trunc |
+-------+-------+
|     1 |    -1 |
+-------+-------+

Dialect support

This example using jOOQ:

trunc(1.7)

Translates to the following dialect specific expressions:

-- AURORA_POSTGRES, COCKROACHDB, POSTGRES
CAST(trunc(CAST(1.7 AS numeric), 0) AS double precision)

-- CUBRID, DB2, HSQLDB, INFORMIX, ORACLE, VERTICA
trunc(1.7, 0)

-- H2
truncate(1.7, 0)

-- ACCESS, ASE, AURORA_MYSQL, DERBY, FIREBIRD, HANA, INGRES, MARIADB, MEMSQL, MYSQL, REDSHIFT, SQLDATAWAREHOUSE, SQLITE, 
-- SQLSERVER, SYBASE, TERADATA
/* UNSUPPORTED */

(These are currently generated with jOOQ 3.14, see #10141)

The jOOQ Logo