Resumo : neste tutorial, você aprenderá como usar a ROUND()
função MySQL para arredondar um número para um número especificado de casas decimais.
Introdução à função MySQL ROUND()
A ROUND()
é uma função matemática que permite arredondar um número para um determinado número de casas decimais.
Aqui está a sintaxe básica da ROUND()
função:
ROUND(n,[d])
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
n
é um número a ser arredondadod
é o número de casas decimais para as quais o número é arredondado. O número de casas decimais (d
) é opcional. O padrão é zero se você ignorá-lo.
As seguintes declarações são equivalentes:
SELECT ROUND(20.5);
-- 21
SELECT ROUND(20.5, 0);
-- 21
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O número de casas decimais ( d
) pode ser positivo ou negativo. Se for negativo, os d
dígitos à esquerda da vírgula do número n
tornam-se zero.
SELECT ROUND(121.55,-2)
-- 100
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A ROUND()
função retorna um número que possui o mesmo tipo de dados que o número a ser arredondado ( n
)
Regras de arredondamento de números de valor exato
Se n
for um número de valor exato, a ROUND()
função usa a regra “arredondar para o mais próximo”. Isso significa que o valor da parte fracionária .5
ou superior é arredondado para o próximo número inteiro, se positivo, ou arredondado para baixo, para o próximo número inteiro, se for negativo. Por exemplo:
SELECT ROUND(10.5);
-- 11
SELECT ROUND(10.6);
-- 11
SELECT ROUND(-10.5);
-- -11
SELECT ROUND(-10.6);
-- -11
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O valor da parte fracionária menor que .5
é arredondado para o próximo número inteiro se for positivo ou para o próximo número inteiro se for negativo:
SELECT ROUND(10.4);
-- 10
SELECT ROUND(-10.4);
-- -10
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Regras de arredondamento de números de valor aproximado
Ao arredondar um número de valor aproximado, o resultado da ROUND()
função depende da biblioteca C. Normalmente, ele usa a regra de “arredondar para o par mais próximo”, ou seja, arredonda um valor com uma parte fracionária exatamente no meio entre dois inteiros para o inteiro par mais próximo.
Exemplos de funções ROUND() do MySQL
Usaremos a orderDetails
tabela do banco de dados de exemplo para a demonstração:
A instrução a seguir encontra os valores médios dos itens de linha do pedido por códigos de produto:
SELECT
productCode,
AVG(quantityOrdered * priceEach) avg_order_item_value
FROM
orderDetails
GROUP BY
productCode;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
Os valores médios dos pedidos dos produtos não são muito legíveis porque contêm muitos números após as casas decimais.
Para os valores médios, o número após as casas decimais pode não ser importante. Portanto, você pode usar a ROUND()
função para arredondá-los para zero casas decimais, conforme mostrado na consulta a seguir:
SELECT
productCode,
ROUND(AVG(quantityOrdered * priceEach)) avg_order_item_value
FROM
orderDetails
GROUP BY
productCode;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A imagem a seguir mostra a saída:
Resumo
- Use a função MySQL
ROUND()
para arredondar um número para um número especificado de casas decimais.