Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
Retourneert de afgeronde expr met behulp van HALF_UP de afrondingsmodus.
Syntaxis
round(expr [, targetScale] )
Argumenten
expr: Een numerieke expressie.targetScale: EenINTEGERconstante expressie. AlstargetScaleu dit weglaat, is de standaardwaarde 0 (geheel getal).In Databricks SQL en Databricks Runtime 12.2 LTS en hoger: Als
targetscaleer negatieve afronding wordt uitgevoerd op positieve bevoegdheden van10.
Retouren
Als expr het resultaat is DECIMAL met een schaal die de kleinere schaal DECIMAL is en expr.targetScale
Voor alle andere numerieke typen komt het resultaattype overeen expr.
Bij HALF_UP afronding wordt het cijfer 5 naar boven afgerond.
Voor HALF_EVEN afronding gebruikt u de bround-functie.
Voor integrale numerieke typen Azure Databricks een fout ARITHMETIC_OVERFLOW optreedt wanneer de afgeronde waarde het resultaattype overloopt.
Waarschuwing
In Databricks Runtime 12.2 LTS en hieronder, en in Databricks Runtime als spark.sql.ansi.enabled is false, veroorzaakt een overloop geen fout, maar 'verpakt' het resultaat.
Algemene foutvoorwaarden
Voorbeelden
> 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