Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 10.4 LTS und höher
Gibt die größte Zahl zurück, die nicht größer als expr ist, abgerundet auf targetScale-Ziffern in Relation zum Dezimalpunkt.
Syntax
floor(expr [, targetScale])
Argumente
-
expr: Ein Ausdruck, der in einen numerischen Wert ausgewertet wird. -
targetScale: Ein optionaler INTEGER-Literal größer als-38gibt an, wie viele Ziffern nach dem Dezimalpunkt nach der Abrundung angegeben werden.
Gibt zurück
Wenn keine targetScale angegeben wird:
- Wenn
exprgleichDECIMAL(p, s)ist, wirdDECIMAL(p - s + 1, 0)zurückgegeben. - In allen anderen Fällen wird ein BIGINT-Wert zurückgegeben.
Wenn targetScale angegeben und expr Folgendes ist:
TINYINTGibt einen
DECIMAL(p, 0)-Wert mitp = max(3, -targetScale + 1)zurück.SMALLINTGibt einen
DECIMAL(p, 0)-Wert mitp = max(5, -targetScale + 1)zurück.INTEGERGibt einen
DECIMAL(p, 0)-Wert mitp = max(10, -targetScale + 1))zurück.BIGINTGibt einen
DECIMAL(p, 0)-Wert mitp = max(20, -targetScale + 1))zurück.FLOATGibt einen
DECIMAL(p, s)-Wert mitp = max(14, -targetScale + 1))unds = min(7, max(0, targetScale))zurück.DOUBLEGibt einen
DECIMAL(p, s)-Wert mitp = max(30, -targetScale + 1))unds = min(15, max(0, targetScale))zurück.DECIMAL(p_in, s_in)Gibt einen
DECIMAL(p, s)-Wert mitp = max(p_in - s_in + 1, -targetScale + 1))unds = min(s_in, max(0, targetScale))zurück.
Wenn targetScale negativ ist, erfolgt die Rundung an -targetScale Ziffern links neben dem Dezimalpunkt auf.
Der Standardwert targetScale ist 0, der auf die nächstkleinere integrale Zahl abgerundet wird.
Beispiele
> SELECT floor(-0.1);
-1
> SELECT floor(5);
5
> SELECT floor(3345.1, -2);
3300
> SELECT floor(-12.345, 1);
-12.4