ceiling 函数

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime 11.3 LTS 及更高版本

返回不小于 expr 的最小数,向上舍入到相对于小数点的 targetScale 位数。 此函数是 ceil 函数的同义词。

语法

ceiling(expr [, targetScale])

参数

  • expr:一个计算结果为数字的表达式。
  • targetScale:大于 -38 的可选 INTEGER 字面量,指定小数点后要向上舍入的位数。

返回

如果未指定 targetScale

  • 如果 exprDECIMAL(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