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.enabled 为 false
,则溢出不会导致错误,而是会将结果“换行”。
示例
> 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