Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Funktionen
Gäller för:
Databricks SQL
Databricks Runtime
Returnerar avrundat med avrundningsläge exprHALF_UP .
Syntax
round(expr [, targetScale] )
Argument
expr: Ett numeriskt uttryck.targetScale: EttINTEGERkonstant uttryck. OmtargetScaleutelämnas är standardvärdet 0 (heltal).I Databricks SQL och Databricks Runtime 12.2 LTS och senare: Om
targetscaleär negativ avrundning utförs till positiva krafter i10.
Returer
Om expr är DECIMAL resultatet med DECIMAL en skala som är den mindre skalan expr och targetScale.
För alla andra numeriska typer matchar exprresultattypen .
Vid HALF_UP avrundning avrundas siffran 5 uppåt.
Använd broundfunktionenHALF_EVEN avrundning.
För integral numeriska typer Azure Databricks genererar ett ARITHMETIC_OVERFLOW fel när det avrundade värdet spiller över resultattypen.
Varning
I Databricks Runtime 12.2 LTS och nedan, och i Databricks Runtime om spark.sql.ansi.enabled är false, orsakar ett spill inte ett fel utan "omsluter" resultatet i stället.
Vanliga felvillkor
Exempel
> 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