Função MySQL ABS

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_expressionfor um número negativo, a ABS()função retorna o valor positivo do valor negativo. Se numeric_expressionfor 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:

Exemplo de função MySQL ABS

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 productstabela do banco de dados de exemplo para a demonstração:

tabela de produtos

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:

Exemplo de desvio da função MySQL ABS

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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *