Available in versions: Dev (3.19) | Latest (3.18) | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11 | 3.10 | 3.9

ROUND

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

The ROUND() function rounds a numeric value to its nearest integer, or optionally, to the nearest decimal precision.

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

The result being

+-------+-------+
| round | round |
+-------+-------+
|     2 |    -2 |
+-------+-------+

Dialect support

This example using jOOQ:

round(1.7)

Translates to the following dialect specific expressions:

-- ACCESS, AURORA_MYSQL, AURORA_POSTGRES, BIGQUERY, DB2, DUCKDB, EXASOL, FIREBIRD, HANA, HSQLDB, INFORMIX, MARIADB, 
-- MEMSQL, MYSQL, ORACLE, POSTGRES, REDSHIFT, SNOWFLAKE, SQLITE, TERADATA, TRINO, VERTICA, YUGABYTEDB
round(1.7E0)

-- ASE, SQLDATAWAREHOUSE, SQLSERVER, SYBASE
round(1.7E0, 0)

-- COCKROACHDB
round(CAST(CAST(1.7E0 AS double precision) AS numeric))

-- DERBY
CASE
  WHEN (1.7E0 - floor(1.7E0)) < 5E-1 THEN floor(1.7E0)
  ELSE ceil(1.7E0)
END

-- H2
round(CAST(1.7E0 AS double))

(These are currently generated with jOOQ 3.19, see #10141), or translate your own on our website

Feedback

Do you have any feedback about this page? We'd love to hear it!

The jOOQ Logo