Função MySQL ROUND()
A função `ROUND()` do MySQL é usada para arredondar um valor numérico para um número especificado de casas decimais. Ele é particularmente útil em cenários em que a precisão é necessária para cálculos financeiros, relatórios ou análise de dados.
Uso
A função `ROUND()` é comumente usada para controlar o número de casas decimais em uma saída numérica, melhorando a legibilidade e a precisão. Pode ser aplicado em comandos `SELECT`, entre outros, para fins de arredondamento.
ROUND(number, decimals)
Nessa sintaxe, `number` é o valor numérico a ser arredondado e `decimals` é o número de casas decimais a serem arredondadas. Se `decimals` for omitido, o número será arredondado para o inteiro mais próximo. `ROUND()` segue as regras de arredondamento padrão, arredondando para o valor mais próximo. Para valores de ponto médio (por exemplo, `0,5`), ele arredonda para longe de zero.
Exemplos
1. Arredondamento básico
SELECT ROUND(123.456);
Este exemplo arredonda o número `123.456` para o inteiro mais próximo, resultando em `123`.
2. Especificação de casas decimais
SELECT ROUND(123.456, 2);
Aqui, o número `123,456` é arredondado para duas casas decimais, resultando em `123,46`.
3. Arredondamento de números negativos
SELECT ROUND(-123.456, 1);
Nesse exemplo, o número negativo `-123,456` é arredondado para uma casa decimal, resultando em `-123,5`.
4. Arredondamento com decimais negativos
SELECT ROUND(12345.6789, -2);
Isso arredonda `12345.6789` para a centena mais próxima, resultando em `12300`.
Dicas e práticas recomendadas
- Especifique as casas decimais com cuidado. Sempre especifique o número de casas decimais para evitar arredondamentos não intencionais.
- Considere as limitações do tipo de dados. Esteja ciente de como `ROUND()` interage com diferentes tipos de dados do MySQL (por exemplo, `FLOAT`, `DOUBLE`, `DECIMAL`) para evitar a perda de precisão.
- Use na formatação de dados. Utilize `ROUND()` para a apresentação de dados quando for necessária uma precisão consistente.
- Combine com outras funções. Combine `ROUND()` com funções de agregação como `SUM()` ou `AVG()` para garantir a formatação precisa do resultado, por exemplo:
SELECT ROUND(AVG(salary), 2) FROM employees;