适用于:
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