Udostępnij za pośrednictwem


Funkcja floor

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 10.4 LTS i nowsze

Zwraca największą liczbę nie większą niż expr zaokrąglona w dół do targetScale cyfr względem punktu dziesiętnego.

Składnia

floor(expr [, targetScale])

Argumenty

  • expr: wyrażenie, które daje w wyniku wartość liczbową.
  • targetScale: Opcjonalny literał INTEGER większy niż -38 określa liczbę cyfr po przecinku do zaokrąglenia w dół.

Zwraca

Jeśli nie targetScale podano:

  • Jeśli expr parametr ma DECIMAL(p, s)wartość , zwraca wartość DECIMAL(p - s + 1, 0).
  • W przypadku wszystkich innych przypadków zwraca wartość BIGINT.

Jeśli targetScale jest określony i expr jest:

  • TINYINT

    Zwraca obiekt DECIMAL(p, 0) z wartością p = max(3, -targetScale + 1).

  • SMALLINT

    Zwraca obiekt DECIMAL(p, 0) z wartością p = max(5, -targetScale + 1).

  • INTEGER

    Zwraca obiekt DECIMAL(p, 0) z wartością p = max(10, -targetScale + 1)).

  • BIGINT

    Zwraca obiekt DECIMAL(p, 0) z wartością p = max(20, -targetScale + 1)).

  • FLOAT

    Zwraca element DECIMAL(p, s) z elementami p = max(14, -targetScale + 1)) i s = min(7, max(0, targetScale))

  • DOUBLE

    Zwraca element DECIMAL(p, s) z elementami p = max(30, -targetScale + 1)) i s = min(15, max(0, targetScale))

  • DECIMAL(p_in, s_in)

    Zwraca element DECIMAL(p, s) z elementami p = max(p_in - s_in + 1, -targetScale + 1)) i s = min(s_in, max(0, targetScale))

Jeśli targetScale jest ujemne, zaokrąglanie następuje do -targetScale cyfr po lewej stronie przecinka dziesiętnego.

Wartość domyślna targetScale to 0, która zaokrągla w dół do następnej mniejszej liczby całkowitej.

Przykłady

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

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