ceiling
函数
适用于: Databricks SQL Databricks Runtime 11.3 LTS 及更高版本
返回不小于 expr
的最小数,向上舍入到相对于小数点的 targetScale
位数。 此函数是 ceil 函数的同义词。
语法
ceiling(expr [, targetScale])
参数
expr
:一个计算结果为数字的表达式。targetScale
:大于-38
的可选 INTEGER 字面量,指定小数点后要向上舍入的位数。
返回
如果未指定 targetScale
:
- 如果
expr
为DECIMAL(p, s)
,则返回DECIMAL(p - s + 1, 0)
。 - 其余情况下,则返回 BIGINT。
如果指定了 targetScale
,且 expr
为:
TINYINT
返回
p = max(3, -targetScale + 1)
的DECIMAL(p, 0)
。SMALLINT
返回
p = max(5, -targetScale + 1)
的DECIMAL(p, 0)
。INTEGER
返回
p = max(10, -targetScale + 1))
的DECIMAL(p, 0)
。BIGINT
返回
p = max(20, -targetScale + 1))
的DECIMAL(p, 0)
。FLOAT
返回
p = max(14, -targetScale + 1))
和s = min(7, max(0, targetScale))
的DECIMAL(p, s)
DOUBLE
返回
p = max(30, -targetScale + 1))
和s = min(15, max(0, targetScale))
的DECIMAL(p, s)
DECIMAL(p_in, s_in)
返回
p = max(p_in - s_in + 1, -targetScale + 1))
和s = min(s_in, max(0, targetScale))
的DECIMAL(p, s)
如果 targetScale
为负数,则舍入到小数点左侧的 -targetScale
位数。
默认值 targetScale
为 0,将向上舍入到相邻的更大整数。
示例
> SELECT ceiling(-0.1);
0
> SELECT ceiling(5);
5
> SELECT ceiling(5.4);
6
> SELECT ceiling(3345.1, -2);
3400
> SELECT ceiling(-12.345, 1);
-12.3