
Arredondar valores numéricos e garantir que eles tenham sempre duas casas decimais é uma prática comum em diversas aplicações, principalmente quando lidamos com cálculos financeiros. Neste post, vamos explorar como podemos usar a função ROUND
no SQL Server para manipular valores com duas casas decimais.
Por que Precisamos Arredondar?
Em muitas situações, precisamos garantir que os valores sejam apresentados de forma consistente, com um número fixo de casas decimais. Por exemplo, ao calcular o imposto ou um percentual sobre o preço de um produto, podemos acabar com resultados que possuem várias casas decimais, o que não é ideal para apresentação ao usuário final.
A Função ROUND
no SQL Server
O SQL Server fornece a função ROUND
para arredondar um valor numérico a um número específico de casas decimais. A sintaxe da função é a seguinte:
ROUND(expression, length, function)
- expression: O valor que queremos arredondar.
- length: O número de casas decimais para o qual queremos arredondar.
- function: Um valor opcional que, se definido como
0
ou ausente, arredonda o valor. Se definido como1
, ele trunca o valor.
Vamos ver um exemplo prático:
Exemplo Prático
Imagine que temos uma tabela Vendas
com as seguintes colunas:
Produto | PrecoUnitario | Quantidade | Total |
---|---|---|---|
Produto A | 25.756 | 2 | 51.512 |
Produto B | 19.95 | 3 | 59.85 |
Produto C | 5.49 | 10 | 54.9 |
Se queremos calcular o total para cada item e arredondá-lo para duas casas decimais, podemos usar a função ROUND
:
SELECT
Produto,
PrecoUnitario,
Quantidade,
ROUND(PrecoUnitario * Quantidade, 2) AS TotalArredondado
FROM
Vendas;
O resultado seria:
Produto | PrecoUnitario | Quantidade | TotalArredondado |
---|---|---|---|
Produto A | 25.756 | 2 | 51.51 |
Produto B | 19.95 | 3 | 59.85 |
Produto C | 5.49 | 10 | 54.90 |
Garantindo que Sempre Haja Duas Casas Decimais
Uma questão comum é garantir que o resultado sempre apresente duas casas decimais, mesmo quando o valor é um número inteiro ou tem apenas uma casa decimal. Para isso, podemos utilizar a função CONVERT
para transformar o valor numérico em um formato com duas casas decimais:
SELECT
Produto,
PrecoUnitario,
Quantidade,
CONVERT(DECIMAL(10, 2), ROUND(PrecoUnitario * Quantidade, 2)) AS TotalComDuasCasas
FROM
Vendas;
Assim, o resultado garante que todos os valores sejam exibidos com duas casas decimais.
Conclusão
Manipular casas decimais e arredondar valores são tarefas essenciais ao lidar com dados numéricos no SQL Server. A função ROUND
é a ferramenta principal para esse trabalho, e combinada com outras funções como CONVERT
, você pode garantir que os resultados sejam apresentados de maneira consistente e profissional.
Se você tem dúvidas ou deseja saber mais sobre como manipular valores no SQL Server, deixe um comentário abaixo!