ROUND (Transact-SQL)
Restituisce un valore numerico arrotondato alla lunghezza o alla precisione specificata.
Convenzioni della sintassi Transact-SQL
Sintassi
ROUND ( numeric_expression , length [ ,function ] )
Argomenti
- numeric_expression
Espressione di un tipo di dati della categoria numerici esatti o numerici approssimati, con l'eccezione del tipo di dati bit.
- length
Precisione in base a cui arrotondare l'argomento numeric_expression. length deve essere un'espressione di tipo tinyint, smallint o int. Quando length è un numero positivo, numeric_expression viene arrotondato al numero di posizioni decimali specificato dall'argomento length. Quando length è un numero negativo, l'argomento numeric_expression viene arrotondato a sinistra del separatore decimale in base al valore di length.
- function
Tipo di operazione da eseguire. function deve essere di tipo tinyint, smallint o int. Se function viene omesso oppure è uguale a 0 (valore predefinito), l'argomento numeric_expression viene arrotondato. Se viene specificato un valore diverso da 0, l'argomento numeric_expression viene troncato.
Tipi restituiti
Restituisce lo stesso tipo dell'argomento numeric_expression.
Osservazioni
La funzione ROUND restituisce sempre un valore. Se l'argomento length è negativo e maggiore del numero di cifre che precedono il separatore decimale, la funzione ROUND restituisce 0.
Esempio | Risultato |
---|---|
ROUND(748.58, -4) |
0 |
La funzione ROUND restituisce un valore numeric_expression arrotondato indipendentemente dal tipo di dati quando length è un numero negativo.
Esempi | Risultato |
---|---|
ROUND(748.58, -1) |
750.00 |
ROUND(748.58, -2) |
700.00 |
ROUND(748.58, -3) |
1000.00 |
Esempi
A. Utilizzo della funzione ROUND e delle stime
In questo esempio vengono utilizzate due espressioni per illustrare che con la funzione ROUND
l'ultima cifra è sempre una stima.
SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO
Set di risultati:
----------- -----------
123.9990 124.0000
B. Utilizzo della funzione ROUND e delle approssimazioni di arrotondamento
Nell'esempio seguente vengono illustrati l'arrotondamento e l'approssimazione.
SELECT ROUND(123.4545, 2);
GO
SELECT ROUND(123.45, -2);GO
Set di risultati:
----------
123.4500
(1 row(s) affected)
--------
100.00
(1 row(s) affected)
C. Utilizzo della funzione ROUND per ottenere un troncamento
Nell'esempio seguente vengono utilizzate due istruzioni SELECT
per illustrare la differenza tra l'arrotondamento e il troncamento. La prima istruzione arrotonda il risultato, la seconda lo tronca.
SELECT ROUND(150.75, 0);
GO
SELECT ROUND(150.75, 0, 1);
GO
Set di risultati:
--------
151.00
(1 row(s) affected)
--------
150.00
(1 row(s) affected)
Vedere anche
Riferimento
CEILING (Transact-SQL)
Tipi di dati (Transact-SQL)
Espressioni (Transact-SQL)
FLOOR (Transact-SQL)
Funzioni matematiche (Transact-SQL)