Resumo : neste tutorial você aprenderá como usar a ABS()
função MySQL para retornar o valor absoluto de um número.
Visão geral da função MySQL ABS()
A ABS()
função é uma função matemática que retorna o valor absoluto (não negativo) de uma expressão numérica ou coluna numérica.
A ABS()
função remove o sinal de um número. Portanto, se a entrada for positiva ou negativa, sempre retornará um número positivo ou zero.
Aqui está a sintaxe da ABS()
função:
ABS(numeric_expression)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe, numeric_expression
é um número literal ou uma expressão avaliada como um número.
Se numeric_expression
for um número negativo, a ABS()
função retorna o valor positivo do valor negativo. Se numeric_expression
for zero ou positivo, ABS()
a função não tem efeito.
O tipo de dados do valor de retorno é igual ao tipo de dados do argumento de entrada.
Exemplos de funções MySQL ABS()
Vejamos alguns exemplos de uso da ABS()
função.
1) Exemplo simples de função ABS()
O exemplo a seguir usa a função ABS para retornar os valores absolutos de três números diferentes:
SELECT
ABS(-10),
ABS(0),
ABS(10);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
Neste exemplo, a ABS()
função retorna o valor absoluto de -10, que é 10. Não tem nenhum efeito sobre 0 e 10.
2) Usando a função ABS() nas colunas da tabela
Usaremos a products
tabela do banco de dados de exemplo para a demonstração:
A consulta a seguir usa a ABS()
função para encontrar o código do produto, MSRP e o desvio do MSRP do produto em relação ao MSRP médio do produto em sua linha de produtos.
SELECT
productName,
productLine,
msrp,
ABS(
ROUND(
msrp - AVG(msrp) OVER (
PARTITION BY productLine
)
)
) deviation
FROM
products
ORDER BY
productName;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
Como funciona.
Primeiro, a AVG()
função de janela retorna o MSRP médio de cada produto em sua linha de produtos:
AVG(msrp) OVER ( PARTITION BY productLine )
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Em segundo lugar, use a seguinte fórmula para retornar a diferença entre o MSRP e o MSRP médio da linha de produtos:
msrp - AVG(msrp) OVER (PARTITION BY productLine)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Terceiro, use a ROUND()
função para arredondar o desvio para zero decimais.
ROUND(
msrp - AVG(msrp) OVER (
PARTITION BY productLine
)
)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Por fim, use a ABS()
função para retornar os valores absolutos dos desvios. Note-se que devido a alguns produtos terem um MSRP inferior ao MSRP médio, os seus desvios em relação ao valor médio são negativos.
Resumo
- Use a
ABS()
função para obter o valor absoluto de um número.