Condividi tramite


Funzione floor

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 10.4 LTS e versioni successive

Restituisce il numero più grande non maggiore di expr arrotondato a targetScale cifre rispetto al separatore decimale.

Sintassi

floor(expr [, targetScale])

Argomenti

  • expr: espressione che restituisce un valore numerico.
  • targetScale: valore letterale INTEGER facoltativo maggiore di quanto -38 specificare il numero di cifre dopo i decimali da arrotondare verso il basso.

Valori restituiti

Se non viene specificato alcun targetScale valore:

  • Se expr è DECIMAL(p, s), restituisce DECIMAL(p - s + 1, 0).
  • Per tutti gli altri casi, restituisce un bigint.

Se targetScale viene specificato e expr è un:

  • TINYINT

    Restituisce un DECIMAL(p, 0) oggetto con p = max(3, -targetScale + 1).

  • SMALLINT

    Restituisce un DECIMAL(p, 0) oggetto con p = max(5, -targetScale + 1).

  • INTEGER

    Restituisce un DECIMAL(p, 0) oggetto con p = max(10, -targetScale + 1)).

  • BIGINT

    Restituisce un DECIMAL(p, 0) oggetto con p = max(20, -targetScale + 1)).

  • FLOAT

    Restituisce un DECIMAL(p, s) oggetto con p = max(14, -targetScale + 1)) e s = min(7, max(0, targetScale))

  • DOUBLE

    Restituisce un DECIMAL(p, s) oggetto con p = max(30, -targetScale + 1)) e s = min(15, max(0, targetScale))

  • DECIMAL(p_in, s_in)

    Restituisce un DECIMAL(p, s) oggetto con p = max(p_in - s_in + 1, -targetScale + 1)) e s = min(s_in, max(0, targetScale))

Se targetScale è negativo, l'arrotondamento si verifica a -targetScale cifre a sinistra del separatore decimale.

Il valore predefinito targetScale è 0, che arrotonda fino al numero integrale più piccolo successivo.

Esempi

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

> SELECT floor(-12.345, 1);
 -12.4