As funções matemáticas em SQL são usadas para realizar vários cálculos com dados numéricos. Elas permitem arredondar valores, encontrar valores mínimos e máximos, calcular somas, médias, restos e muito mais. Esta aula aborda as funções matemáticas mais utilizadas com exemplos baseados no banco de dados Sakila.
ABS()
— Retorna o valor absoluto de um número.Sintaxe:
ABS(number)
Exemplo:
SELECT ABS(amount - 5) AS abs_difference
FROM payment
LIMIT 3;
Resultado: Retorna a diferença absoluta entre o valor de amount
e 5.
CEIL()
/ CEILING()
— Arredonda um número para cima até o inteiro mais próximo.Sintaxe:
CEIL(number)
CEILING(number)
Exemplo:
SELECT CEIL(amount) AS rounded_up
FROM payment
LIMIT 3;
Resultado: Arredonda o valor de amount
para cima até o inteiro mais próximo.
FLOOR()
— Arredonda um número para baixo até o inteiro mais próximo.Sintaxe:
FLOOR(number)
Exemplo:
SELECT FLOOR(amount) AS rounded_down
FROM payment
LIMIT 3;
Resultado: Arredonda o valor de amount
para baixo até o inteiro mais próximo.
ROUND()
— Arredonda um número para o número especificado de casas decimais.Sintaxe:
ROUND(number, decimals)
Exemplo:
SELECT ROUND(amount, 1) AS rounded_amount
FROM payment
LIMIT 3;
Resultado: Arredonda o valor de amount
para uma casa decimal.
POWER()
/ POW()
— Eleva um número a uma potência.Sintaxe:
POWER(number, exponent)
POW(number, exponent)
Exemplo:
SELECT POWER(amount, 2) AS squared_amount
FROM payment
LIMIT 3;
Resultado: Eleva o valor de amount
ao quadrado.
SQRT()
— Retorna a raiz quadrada de um número.Sintaxe:
SQRT(number)
Exemplo:
SELECT SQRT(amount) AS sqrt_amount
FROM payment
LIMIT 3;
Resultado: Retorna a raiz quadrada do valor de amount
.
MOD()
— Retorna o resto da divisão de um número por outro.Sintaxe:
MOD(dividend, divisor)
Exemplo:
SELECT MOD(payment_id, 5) AS mod_result
FROM payment
LIMIT 3;
Resultado: Retorna o resto da divisão de payment_id
por 5.
SIGN()
— Retorna o sinal de um número (-1, 0 ou 1).Sintaxe:
SIGN(number)
Exemplo:
SELECT SIGN(amount - 5) AS sign_value
FROM payment
LIMIT 3;
Resultado: Retorna -1 se a diferença for negativa, 0 se for zero, 1 se for positiva.
GREATEST()
— Retorna o maior dos valores fornecidos (MySQL, PostgreSQL).Sintaxe:
GREATEST(value1, value2, ...)
Exemplo:
SELECT GREATEST(amount, 5) AS max_value
FROM payment
LIMIT 3;
Resultado: Retorna o maior dos dois valores: amount
ou 5.
LEAST()
— Retorna o menor dos valores fornecidos (MySQL, PostgreSQL).Sintaxe:
LEAST(value1, value2, ...)
Exemplo:
SELECT LEAST(amount, 5) AS min_value
FROM payment
LIMIT 3;
Resultado: Retorna o menor dos dois valores: amount
ou 5.
RAND()
— Retorna um número aleatório entre 0 e 1.Sintaxe:
RAND()
Exemplo:
SELECT RAND() AS random_value
FROM payment
LIMIT 3;
Resultado: Retorna um número aleatório para cada linha.
Arredondar valores de pagamento:
Use ROUND(amount, 0)
para arredondar o valor para o inteiro mais próximo.
Encontrar pagamentos com resto:
Use MOD(payment_id, 2)
para encontrar pagamentos pares e ímpares.
Calcular raízes quadradas:
Use SQRT(amount)
para analisar a distribuição dos pagamentos.
Comparar valores:
Use GREATEST()
e LEAST()
para selecionar o valor máximo ou mínimo de várias colunas.
As funções matemáticas do SQL permitem realizar cálculos, analisar e transformar dados numéricos. Domine essas funções para trabalhar de forma eficaz com números em suas consultas SQL. Pratique com exemplos do banco de dados Sakila para reforçar seus conhecimentos.