可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

TRUNC

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

TRUNC() 函数将数值四舍五入到最接近的整数(或者可选地,四舍五入到特定的十进制精度),该整数更接近零。

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

结果是

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

方言支持

此示例使用 jOOQ

trunc(1.7)

翻译成以下特定方言的表达式

ASE

CASE
  WHEN sign(1.7E0) >= 0 THEN (floor((1.7E0 * 1)) / 1)
  ELSE (ceiling((1.7E0 * 1)) / 1)
END

Aurora MySQL

truncate(CAST(1.7E0 AS decimal), 0)

Aurora Postgres, Postgres

CAST(trunc(
  CAST(1.7E0 AS numeric),
  0
) AS double precision)

DB2

trunc(CAST(1.7E0 AS double), 0)

Derby

CASE
  WHEN sign(1.7E0) >= 0 THEN (floor((1.7E0 * 1)) / 1)
  ELSE (ceil((1.7E0 * 1)) / 1)
END

Firebird

trunc(CAST(1.7E0 AS double precision), 0)

H2

truncate(CAST(1.7E0 AS double), 0)

Hana

round(1.7E0, 0, round_down)

HSQLDB, Informix, Oracle, Teradata, Vertica

trunc(1.7E0, 0)

MariaDB, MemSQL, MySQL

truncate(1.7E0, 0)

SQLDataWarehouse, SQLServer

round(CAST(1.7E0 AS float), 0, 1)

Sybase

truncnum(1.7E0, 0)

Access, BigQuery, ClickHouse, CockroachDB, Databricks, DuckDB, Exasol, Redshift, SQLite, Snowflake, Trino, YugabyteDB

/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo