floor
-functie
Van toepassing op: Databricks SQL Databricks Runtime 10.4 LTS en hoger
Retourneert het grootste getal dat niet groter is dan expr
naar beneden afgerond op targetScale
cijfers ten opzichte van het decimaalteken.
Syntaxis
floor(expr [, targetScale])
Argumenten
expr
: Een expressie die resulteert in een numerieke waarde.targetScale
: Een optioneel geheel getal dat groter is dan-38
opgeven door het aantal cijfers achter de decimalen om omlaag af te ronden.
Retouren
Als er geen targetScale
is opgegeven:
- Als
expr
dat het isDECIMAL(p, s)
, retourneertDECIMAL(p - s + 1, 0)
. - Voor alle andere gevallen wordt een BIGINT geretourneerd.
Als targetScale
dit is opgegeven en expr
een:
TINYINT
Geeft als resultaat een
DECIMAL(p, 0)
metp = max(3, -targetScale + 1)
.SMALLINT
Geeft als resultaat een
DECIMAL(p, 0)
metp = max(5, -targetScale + 1)
.INTEGER
Geeft als resultaat een
DECIMAL(p, 0)
metp = max(10, -targetScale + 1))
.BIGINT
Geeft als resultaat een
DECIMAL(p, 0)
metp = max(20, -targetScale + 1))
.FLOAT
Geeft als resultaat een
DECIMAL(p, s)
metp = max(14, -targetScale + 1))
ens = min(7, max(0, targetScale))
DOUBLE
Geeft als resultaat een
DECIMAL(p, s)
metp = max(30, -targetScale + 1))
ens = min(15, max(0, targetScale))
DECIMAL(p_in, s_in)
Geeft als resultaat een
DECIMAL(p, s)
metp = max(p_in - s_in + 1, -targetScale + 1))
ens = min(s_in, max(0, targetScale))
Als targetScale
dit negatief is, treedt de afronding op op -targetScale
cijfers links van het decimaalteken.
De standaardwaarde targetScale
is 0, die naar beneden wordt afgerond op het volgende kleinere integraal getal.
Voorbeelden
> SELECT floor(-0.1);
-1
> SELECT floor(5);
5
> SELECT floor(3345.1, -2);
3300
> SELECT floor(-12.345, 1);
-12.4