Função floor
Aplica-se a: Databricks SQL
Databricks Runtime 10.4 LTS e superior
Devolve o maior número não maior do que expr
arredondado para baixo em targetScale
algarismos em relação à vírgula decimal.
Sintaxe
floor(expr [, targetScale])
Argumentos
expr
: Uma expressão que é avaliada como numérica.targetScale
: Um literal inteiro opcional maior do que-38
especificar por quantos dígitos após as casas decimais arredondar para baixo.
Devoluções
Em caso negativo targetScale
:
- Se
expr
forDECIMAL(p, s)
, retornaDECIMAL(p - s + 1, 0)
. - Para todos os outros casos, retorna um BIGINT.
Se targetScale
é especificado e expr
é um:
TINYINT
Devolve um
DECIMAL(p, 0)
comp = max(3, -targetScale + 1)
.SMALLINT
Devolve um
DECIMAL(p, 0)
comp = max(5, -targetScale + 1)
.INTEGER
Devolve um
DECIMAL(p, 0)
comp = max(10, -targetScale + 1))
.BIGINT
Devolve um
DECIMAL(p, 0)
comp = max(20, -targetScale + 1))
.FLOAT
Devolve um
DECIMAL(p, s)
comp = max(14, -targetScale + 1))
es = min(7, max(0, targetScale))
DOUBLE
Devolve um
DECIMAL(p, s)
comp = max(30, -targetScale + 1))
es = min(15, max(0, targetScale))
DECIMAL(p_in, s_in)
Devolve um
DECIMAL(p, s)
comp = max(p_in - s_in + 1, -targetScale + 1))
es = min(s_in, max(0, targetScale))
Se targetScale
for negativo, o arredondamento ocorre para -targetScale
algarismos à esquerda da vírgula decimal.
O padrão targetScale
é 0, que arredonda para baixo para 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