Função floor
Aplica-se a: SQL do Databricks
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
forDECIMAL(p, s)
, retornaDECIMAL(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)
comp = max(3, -targetScale + 1)
.SMALLINT
Retornará um
DECIMAL(p, 0)
comp = max(5, -targetScale + 1)
.INTEGER
Retornará um
DECIMAL(p, 0)
comp = max(10, -targetScale + 1))
.BIGINT
Retornará um
DECIMAL(p, 0)
comp = max(20, -targetScale + 1))
.FLOAT
Retornará um
DECIMAL(p, s)
comp = max(14, -targetScale + 1))
es = min(7, max(0, targetScale))
DOUBLE
Retornará um
DECIMAL(p, s)
comp = max(30, -targetScale + 1))
es = min(15, max(0, targetScale))
DECIMAL(p_in, s_in)
Retornará 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 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