Compartilhar via


Função floor

Aplica-se a: verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 10.4 LTS e versões posteriores

Retorna o maior número não maior do que expr arredondado para baixo para targetScale dígitos em relação ao ponto decimal.

Sintaxe

floor(expr [, targetScale])

Argumentos

  • expr: uma expressão avaliada como um numérico.
  • targetScale: um literal INTEGER opcional maior do que -38 especificando em quantos dígitos após as casas decimais arredondar para baixo.

Retornos

Se nenhum targetScale for fornecido:

  • Se expr for DECIMAL(p, s), retorna DECIMAL(p - s + 1, 0).
  • Para todos os outros casos, retorna um BIGINT.

Se targetScale for especificado e expr for um:

  • TINYINT

    Retornará um DECIMAL(p, 0) com p = max(3, -targetScale + 1).

  • SMALLINT

    Retornará um DECIMAL(p, 0) com p = max(5, -targetScale + 1).

  • INTEGER

    Retornará um DECIMAL(p, 0) com p = max(10, -targetScale + 1)).

  • BIGINT

    Retornará um DECIMAL(p, 0) com p = max(20, -targetScale + 1)).

  • FLOAT

    Retornará um DECIMAL(p, s) com p = max(14, -targetScale + 1)) e s = min(7, max(0, targetScale))

  • DOUBLE

    Retornará um DECIMAL(p, s) com p = max(30, -targetScale + 1)) e s = min(15, max(0, targetScale))

  • DECIMAL(p_in, s_in)

    Retornará um DECIMAL(p, s) com p = max(p_in - s_in + 1, -targetScale + 1)) e s = min(s_in, max(0, targetScale))

Se targetScale for negativo, o arredondamento ocorrerá para -targetScale dígitos à esquerda do ponto decimal.

O targetScale padrão é 0, que arredonda para baixo até o próximo número integral menor.

Exemplos

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

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