Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Funktionen
Gäller för: Databricks SQL
Databricks Runtime 10.4 LTS och senare
Returnerar det största talet som inte är större än expr
avrundat nedåt till targetScale
siffror i förhållande till decimaltecknet.
Syntax
floor(expr [, targetScale])
Argument
expr
: Ett uttryck som utvärderas till ett numeriskt uttryck.targetScale
: En valfri INTEGER-literal som är större än-38
att ange med hur många siffror efter decimaltecknet som ska avrundas nedåt.
Returer
Om inget targetScale
anges:
- Om
expr
ärDECIMAL(p, s)
returnerar .DECIMAL(p - s + 1, 0)
- För alla andra fall returnerar en BIGINT.
Om targetScale
anges och expr
är en:
TINYINT
Returnerar ett
DECIMAL(p, 0)
medp = max(3, -targetScale + 1)
.SMALLINT
Returnerar ett
DECIMAL(p, 0)
medp = max(5, -targetScale + 1)
.INTEGER
Returnerar ett
DECIMAL(p, 0)
medp = max(10, -targetScale + 1))
.BIGINT
Returnerar ett
DECIMAL(p, 0)
medp = max(20, -targetScale + 1))
.FLOAT
Returnerar en
DECIMAL(p, s)
medp = max(14, -targetScale + 1))
ochs = min(7, max(0, targetScale))
DOUBLE
Returnerar en
DECIMAL(p, s)
medp = max(30, -targetScale + 1))
ochs = min(15, max(0, targetScale))
DECIMAL(p_in, s_in)
Returnerar en
DECIMAL(p, s)
medp = max(p_in - s_in + 1, -targetScale + 1))
ochs = min(s_in, max(0, targetScale))
Om targetScale
är negativt sker avrundningen till -targetScale
vänster om decimaltecknet.
Standardvärdet targetScale
är 0, vilket avrundar ned till nästa mindre integralnummer.
Exempel
> SELECT floor(-0.1);
-1
> SELECT floor(5);
5
> SELECT floor(3345.1, -2);
3300
> SELECT floor(-12.345, 1);
-12.4