ROUND()
ROUND returns a numeric value, rounded to the specified length or precision.
Signature
ROUND ( numeric_expression , length [ , function ] )Parameters
- numeric_expression — An expression of the exact numeric or approximate numeric data type category.
- length — The precision to which *numeric_expression* is to be rounded. *length* must be an expression of type tinyint, smallint, or int. When *length* is a positive number, *numeric_expression* is rounded to the number of decimal positions specified by *length*. When *length* is a negative number, *numeric_expression* is rounded on the left side of the decimal point, as specified by *length*.
- function — The type of operation to perform. *function* must be tinyint, smallint, or int. When *function* is omitted or has a value of `0` (default), *numeric_expression* is rounded. When a value other than `0` is specified, *numeric_expression* is truncated.
Examples
SELECT ROUND(CAST (748.58 AS DECIMAL (6, 2)), -3);1000.00SELECT ROUND(123.4545, 2),
ROUND(123.45, -2);123.4500|100.00Run against SQL Server 16.0.4265.3 on 2026-09-13. This is the output we got, not the documentation’s.
Available on
- SQL Server 2017 and later
- Azure SQL Database
- Azure SQL Managed Instance
- Azure Synapse Analytics
- Analytics Platform System (PDW)
- Microsoft Fabric warehouse
- Fabric SQL database
Signature and description adapted from the Microsoft SQL documentation, used under the CC BY 4.0. SQL Server and Azure are trademarks of the Microsoft group of companies. This page is not affiliated with Microsoft.