Funções matemáticas úteis
ABS, MOD, POWER e muito mais.
Funções matemáticas úteis é uma aula grátis de SQL Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de SQL Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de SQL Academy inclui 4 aulas no total.
Por que as funções matemáticas são importantes
SQL não trata apenas de armazenar e recuperar texto — também é uma ferramenta poderosa para cálculos numéricos. As funções matemáticas integradas permitem calcular valores absolutos, restos, potências e muito mais, tudo sem sair da sua consulta.
Nesta lição, você aprenderá as funções numéricas mais úteis em SQL: ABS, MOD, POWER, SQRT, ROUND, CEIL, FLOOR e SIGN.
ABS — Valor absoluto
ABS(n) retorna o valor absoluto, ou não negativo, de um número. Números negativos tornam-se positivos; números positivos e zero permanecem inalterados.
Isso é útil quando você se preocupa com a distância até zero, e não com a direção — por exemplo, ao calcular a distância entre uma temperatura e a meta, independentemente de ela estar acima ou abaixo.
SELECT ABS(-42), -- 42
ABS(15), -- 15
ABS(0); -- 0ABS em uma consulta real
Imagine uma tabela transactions na qual os saques são armazenados como valores negativos. Você pode usar ABS para exibir todos os valores como números positivos, independentemente da direção.
CREATE TABLE transactions (
id INTEGER,
amount NUMERIC
);
INSERT INTO transactions VALUES (1, 200.00), (2, -50.00), (3, -120.00), (4, 80.00);
SELECT id,
amount,
ABS(amount) AS absolute_amount
FROM transactions;MOD — Resto da divisão
MOD(dividendo, divisor) retorna o resto quando o primeiro número é dividido pelo segundo. É o equivalente, em SQL, ao operador % de muitas linguagens de programação.
Um uso clássico é verificar se um número é par ou ímpar: se MOD(n, 2) = 0, o número é par; caso contrário, é ímpar.
SELECT MOD(10, 3), -- 1 (10 = 3*3 + 1)
MOD(15, 5), -- 0 (15 = 5*3 + 0)
MOD(7, 2); -- 1 (odd number)MOD em uma consulta real
Você pode usar MOD dentro de uma cláusula WHERE para filtrar linhas. Aqui, selecionamos apenas os pedidos cujo id é par.
CREATE TABLE orders (
id INTEGER,
total NUMERIC
);
INSERT INTO orders VALUES (1, 99.99), (2, 45.00), (3, 130.50), (4, 22.00), (5, 75.00), (6, 60.00);
SELECT id, total
FROM orders
WHERE MOD(id, 2) = 0;POWER — Elevar a uma potência
POWER(base, expoente) eleva um número à potência indicada. POWER(2, 10) resulta em 1024, e POWER(9, 0.5) resulta em 3, a raiz quadrada de 9.
Essa função é útil em cálculos de juros compostos, fórmulas de área e qualquer situação que envolva crescimento exponencial.
SELECT POWER(2, 10), -- 1024
POWER(3, 3), -- 27
POWER(9, 0.5); -- 3 (square root)SQRT — Raiz quadrada
SQRT(n) é uma forma abreviada conveniente de POWER(n, 0.5). Ela retorna a raiz quadrada de um número não negativo.
Por exemplo, se você armazenar a área de um terreno quadrado, poderá recuperar o comprimento do lado com SQRT(area).
SELECT SQRT(25), -- 5
SQRT(2), -- 1.4142...
SQRT(100); -- 10ROUND — Arredondar para N casas decimais
ROUND(n, d) arredonda n para d casas decimais. Se você omitir d, ou passar 0, o resultado será um inteiro. Valores negativos de d arredondam à esquerda do ponto decimal.
SELECT ROUND(3.14159, 2), -- 3.14
ROUND(2.555, 2), -- 2.56
ROUND(1234.5, -2), -- 1200
ROUND(9.9); -- 10CEIL e FLOOR — Sempre arredondar para cima ou para baixo
CEIL(n), também escrito como CEILING, sempre arredonda para cima até o próximo inteiro, enquanto FLOOR(n) sempre arredonda para baixo.
Use CEIL quando precisar do número mínimo de algo, por exemplo, das páginas necessárias para imprimir linhas, e FLOOR quando precisar do maior número inteiro que não exceda um valor, por exemplo, o número de semanas completas transcorridas.
SELECT CEIL(4.1), -- 5
CEIL(-4.1), -- -4
FLOOR(4.9), -- 4
FLOOR(-4.9); -- -5SIGN — Qual é a direção do número?
SIGN(n) retorna 1 se o número for positivo, -1 se for negativo e 0 se for zero. É uma maneira rápida de classificar valores numéricos sem escrever uma expressão CASE.
SELECT SIGN(42), -- 1
SIGN(-7), -- -1
SIGN(0); -- 0Combinando funções matemáticas
As funções matemáticas podem ser combinadas livremente em uma única expressão. O exemplo abaixo calcula o pagamento mensal de um empréstimo simples usando ROUND e POWER em conjunto, mostrando como essas funções se complementam na lógica comercial real.
-- Monthly payment formula: P * r / (1 - (1+r)^-n)
-- P=10000, annual rate 6% (r=0.005/month), n=24 months
SELECT ROUND(
10000.0 * 0.005 / (1 - POWER(1 + 0.005, -24)),
2
) AS monthly_payment;Verificação rápida
Teste sua compreensão das funções matemáticas de SQL.
Resumo da lição
Bom trabalho! Aqui está um resumo das funções matemáticas de SQL que você aprendeu nesta lição:
- ABS(n) — valor absoluto, remove o sinal
- MOD(a, b) — resto após dividir a por b
- POWER(base, expoente) — eleva um número a uma potência
- SQRT(n) — raiz quadrada
- ROUND(n, d) — arredonda para d casas decimais
- CEIL(n) — sempre arredonda para cima até o próximo inteiro
- FLOOR(n) — sempre arredonda para baixo até o inteiro anterior
- SIGN(n) — retorna 1, -1 ou 0 com base no sinal do número
Essas funções funcionam em todos os principais bancos de dados SQL e podem ser aninhadas ou combinadas para lidar diretamente com lógica numérica complexa em suas consultas.
Aprenda SQL com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 46
- Aulas
- 183
Perguntas Frequentes
A aula “Funções matemáticas úteis” é grátis?
Sim — o texto completo de “Funções matemáticas úteis” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de SQL Academy, atualize para CoddyKit PRO. O curso de SQL Academy inclui 4 aulas no total.
O que vou aprender em “Funções matemáticas úteis”?
ABS, MOD, POWER e muito mais. Você pratica SQL Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar SQL Academy?
Nenhuma experiência prévia é necessária. SQL Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Funções matemáticas úteis”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de SQL Academy?
Sim. Cada aula de SQL Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Aritmética e operadores
- Arredondamento e truncamento
- Divisão de inteiros versus decimais
- Funções matemáticas úteis