Funktionen ceiling

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 11.3 LTS och senare

Returnerar det minsta talet som inte är mindre än expr avrundat uppåt till targetScale siffror i förhållande till decimaltecknet. Den här funktionen är synonym med ceil-funktionen.

Syntax

ceiling(expr [, targetScale])

Argument

  • expr: Ett uttryck som utvärderas till ett numeriskt uttryck.
  • targetScale: En valfri INTEGER-literal som är större än -38 att ange hur många siffror efter decimaltecknet som ska avrundas uppåt.

Returer

Om inget targetScale anges:

  • Om expr är DECIMAL(p, s)returnerar .DECIMAL(p - s + 1, 0)
  • För alla andra fall returnerar en BIGINT.

Om targetScale anges och expr är en:

  • TINYINT

    Returnerar ett DECIMAL(p, 0) med p = max(3, -targetScale + 1).

  • SMALLINT

    Returnerar ett DECIMAL(p, 0) med p = max(5, -targetScale + 1).

  • INTEGER

    Returnerar ett DECIMAL(p, 0) med p = max(10, -targetScale + 1)).

  • BIGINT

    Returnerar ett DECIMAL(p, 0) med p = max(20, -targetScale + 1)).

  • FLOAT

    Returnerar en DECIMAL(p, s) med p = max(14, -targetScale + 1)) och s = min(7, max(0, targetScale))

  • DOUBLE

    Returnerar en DECIMAL(p, s) med p = max(30, -targetScale + 1)) och s = min(15, max(0, targetScale))

  • DECIMAL(p_in, s_in)

    Returnerar en DECIMAL(p, s) med p = max(p_in - s_in + 1, -targetScale + 1)) och s = min(s_in, max(0, targetScale))

Om targetScale är negativt sker avrundningen till -targetScale vänster om decimaltecknet.

Standardvärdet targetScale är 0, vilket avrundar upp till nästa större integralnummer.

Exempel

> 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