round 函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

使用 HALF_UP 舍入模式返回舍入运算后的 expr

语法

round(expr [, targetScale] )

参数

  • expr:数值表达式。

  • targetScaleINTEGER 常数表达式。 如果省略 targetScale,则默认值为 0(整数)。

    在 Databricks SQL 和 Databricks Runtime 12.2 及更高版本中:如果 targetscale 是负数,则舍入会执行到 10 的正幂。

返回

如果 exprDECIMAL,则结果为 DECIMAL,其精度为 exprtargetScale 中较小的那个。 对于所有其他数字类型,结果类型与 expr 匹配。

在进行 HALF_UP 舍入计算时,数字 5 向上舍入。

对于 HALF_EVEN 舍入,请使用 bround 函数

警告

在 Databricks Runtime 13.0 之前的版本中,如果 spark.sql.ansi.enabledfalse,则溢出不会导致错误,而是会将结果“换行”。

示例

> SELECT bround(2.5, 0), round(2.5, 0);
 2    3

> SELECT bround(3.5, 0), round(3.5, 0);
 4    4

> SELECT bround(2.6, 0), round(2.6, 0);
 3    3

> SELECT bround(2.25, 1), round(2.25, 1);;
 2.2  2.3

> SELECT bround(13.5, -1), round(13.5, -1);
 10   10