bround 函数

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime

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

语法

bround(expr [,targetScale] )

参数

  • expr:数值表达式。

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

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

返回

如果 expr 为 DECIMAL,则结果为 DECIMAL,其标度为 expr 标度和 max(targetScale, 0) 中较小的一个。 对于所有其他数字类型,结果类型与 expr 匹配。

HALF_EVEN 舍入(也称为高斯舍入或四舍六入五成双舍入)中,数字 5 向偶数舍入。

对于 HALF_UP 舍入,请使用 round 函数

警告

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

示例

> 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