A floor
függvény
A következőkre vonatkozik: Databricks SQL
Databricks Runtime 10.4 LTS és újabb
A legnagyobb számot adja vissza, amely nem nagyobb, mint expr
a targetScale
tizedesvesszőhöz viszonyított számjegyekre kerekítve.
Syntax
floor(expr [, targetScale])
Argumentumok
expr
: Numerikus értéket kiértékelő kifejezés.targetScale
: Egy nem kötelező EGÉSZ SZÁM literál nagyobb, mint-38
az, hogy a tizedesvesszők után hány számjegyet kell lefelé kerekíteni.
Válaszok
Ha nincs targetScale
megadva:
- Ha
expr
igenDECIMAL(p, s)
, akkor a visszaadott értékDECIMAL(p - s + 1, 0)
. - Minden más esetben egy BIGINT értéket ad vissza.
Ha targetScale
meg van adva, és expr
a következő:
TINYINT
Egy a
DECIMAL(p, 0)
withp = max(3, -targetScale + 1)
értéket ad vissza.SMALLINT
Egy a
DECIMAL(p, 0)
withp = max(5, -targetScale + 1)
értéket ad vissza.INTEGER
Egy a
DECIMAL(p, 0)
withp = max(10, -targetScale + 1))
értéket ad vissza.BIGINT
Egy a
DECIMAL(p, 0)
withp = max(20, -targetScale + 1))
értéket ad vissza.FLOAT
A with
DECIMAL(p, s)
p = max(14, -targetScale + 1))
és as = min(7, max(0, targetScale))
DOUBLE
A with
DECIMAL(p, s)
p = max(30, -targetScale + 1))
és as = min(15, max(0, targetScale))
DECIMAL(p_in, s_in)
A with
DECIMAL(p, s)
p = max(p_in - s_in + 1, -targetScale + 1))
és as = min(s_in, max(0, targetScale))
Ha targetScale
negatív, akkor a kerekítés a tizedesvessző bal oldalán lévő számjegyekre történik -targetScale
.
Az alapértelmezett targetScale
érték 0, amely a következő kisebb integrálszámra kerekedik le.
Példák
> SELECT floor(-0.1);
-1
> SELECT floor(5);
5
> SELECT floor(3345.1, -2);
3300
> SELECT floor(-12.345, 1);
-12.4