Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Devolve um valor numérico, arredondado para o comprimento ou precisão especificados.
Transact-SQL convenções de sintaxe
Sintaxe
ROUND ( numeric_expression , length [ , function ] )
Arguments
numeric_expression
Uma expressão do tipo de dado numérico exato ou numérico aproximado.
length
A precisão com que numeric_expression deve ser arredondada. O comprimento deve ser uma expressão do tipo tinyint, smallint ou int. Quando o comprimento é um número positivo, numeric_expression é arredondado para o número de posições decimais especificado pelo comprimento. Quando o comprimento é um número negativo, numeric_expression é arredondado no lado esquerdo do ponto decimal, conforme especificado pelo comprimento.
função
O tipo de operação a realizar.
A função deve ser tinyint, smallint ou int. Quando a função é omitida ou tem um valor de 0 (padrão), numeric_expression é arredondada. Quando um valor diferente de 0 é especificado, numeric_expression é truncado.
Tipos de devolução
Devolve os seguintes tipos de dados.
| Resultado da expressão | Tipo de retorno |
|---|---|
| tinyint | int |
| smallint | int |
| int | int |
| bigint | bigint |
| Categoria Decimal e Numérica (P, S) | decimal(p, s) |
| Moeda e categoria de dinheiro pequeno | dinheiro |
| Flutuante e categoria real | float |
Observações
ROUNDdevolve sempre um valor. Se o comprimento for negativo e maior do que o número de dígitos antes do ponto decimal,ROUNDretorna0.Example Result ROUND(748.58, -4)0 ROUNDdevolve um numeric_expression arredondado, independentemente do tipo de dado, quando o comprimento é um número negativo.Examples Result ROUND(748.58, -1)750,00 ROUND(748.58, -2)700,00 ROUND(748.58, -3)Resulta num transbordo aritmético, porque 748,58 por defeito é decimal(5, 2), que não pode devolver 1000.00.Para arredondar para quatro dígitos, altere o tipo de dados da entrada. Por exemplo:
SELECT ROUND(CAST (748.58 AS DECIMAL (6, 2)), -3);Aqui está o conjunto de resultados.
1000.00ROUNDQuebra o empate arredondando metade afastando-se do zero (também conhecido como arredondamento comercial).Examples Result ROUND(1.15, 1)1.2 ROUND(-1.15, 1)-1.2
Examples
A. Usar ROUND e estimativas
O exemplo seguinte mostra duas expressões que demonstram usando ROUND, o último dígito é sempre uma estimativa.
SELECT ROUND(123.9994, 3),
ROUND(123.9995, 3);
GO
Aqui está o conjunto de resultados.
----------- -----------
123.9990 124.0000
B. Usar aproximações de ROUND e arredondamento
O exemplo seguinte mostra arredondamento e aproximações.
SELECT ROUND(123.4545, 2),
ROUND(123.45, -2);
Aqui está o conjunto de resultados.
---------- ----------
123.4500 100.00
C. Use ROUND para truncar
O exemplo seguinte utiliza duas SELECT afirmações para demonstrar a diferença entre arredondamento e truncamento. A primeira afirmação arredonda o resultado. A segunda afirmação trunca o resultado.
SELECT ROUND(150.75, 0);
GO
Aqui está o conjunto de resultados.
151.00
SELECT ROUND(150.75, 0, 1);
GO
Aqui está o conjunto de resultados.
150.00