round
函数
适用于: Databricks SQL Databricks Runtime
使用 HALF_UP
舍入模式返回舍入运算后的 expr
。
语法
round(expr [, targetScale] )
参数
expr
:数值表达式。targetScale
:INTEGER
常数表达式。 如果省略targetScale
,则默认值为 0(整数)。在 Databricks SQL 和 Databricks Runtime 12.2 LTS 及更高版本中:如果
targetscale
是负数,则舍入会执行到10
的正幂。
返回
如果 expr
是 DECIMAL
,则结果为 DECIMAL
,其精度为 expr
和 targetScale
中较小的那个。
对于所有其他数字类型,结果类型与 expr
匹配。
在进行 HALF_UP
舍入计算时,数字 5 向上舍入。
对于 HALF_EVEN
舍入,请使用 bround 函数。
警告
在 Databricks Runtime 12.2 LTS 和之前的版本中,以及如果 spark.sql.ansi.enabled 为 false
,在在 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