Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime
Gibt expr gerundet mit dem HALF_UP-Rundungsmodus zurück.
Syntax
round(expr [, targetScale] )
Argumente
expr: Ein numerischer Ausdruck.targetScale: EinINTEGERAusdruck. WenntargetScaleausgelassen wird, ist der Standardwert 0 (ganze Zahl).In Databricks SQL und Databricks Runtime 12.2 LTS und höher: Wenn
targetscalenegativ ist, wird die Rundung auf positive Potenzen von10ausgeführt.
Gibt zurück
Wenn exprDECIMAL ist, ist das Ergebnis DECIMAL mit einer Staffelung, die das kleinere der expr-Staffelung und targetScale ist.
Für alle anderen numerischen Typen entspricht der Ergebnistyp expr.
Bei HALF_UP-Rundung wird die Ziffer 5 aufgerundet.
Verwenden Sie für HALF_EVEN-Rundungen die bround-Funktion.
Bei integralen numerischen Typen löst Azure Databricks einen Fehler ARITHMETIC_OVERFLOW aus, wenn der gerundete Wert den Ergebnistyp überläuft.
Warnung
Vor Databricks Runtime 12.2 LTS und wenn in Databricks Runtime spark.sql.ansi.enabledfalse ist, verursacht ein Überlauf keinen Fehler, sondern „umschließt“ stattdessen das Ergebnis.
Häufige Fehlerbedingungen
Beispiele
> SELECT bround(2.5, 0), round(2.5, 0);
2 3
> SELECT bround(3.5, 0), round(3.5, 0);
4 4
> SELECT bround(2.6, 0), round(2.6, 0);
3 3
> SELECT bround(2.25, 1), round(2.25, 1);
2.2 2.3
> SELECT bround(13.5, -1), round(13.5, -1);
10 10
-- Rounding 127 to the nearest 10 produces 130, which overflows TINYINT.
> SELECT round(cast(127 AS TINYINT), -1);
Error: ARITHMETIC_OVERFLOW