Funciones matemáticas útiles
ABS, MOD, POWER y muchas más
Funciones matemáticas útiles es una lección gratuita de SQL Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de SQL Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de SQL Academy incluye 4 lecciones en total.
Por qué son importantes las funciones matemáticas
SQL no sirve únicamente para almacenar y recuperar texto; también es una herramienta eficaz para realizar cálculos numéricos. Las funciones matemáticas integradas permiten calcular valores absolutos, restos, potencias y mucho más, todo ello sin salir de la consulta.
En esta lección aprenderá las funciones numéricas más útiles de SQL: ABS, MOD, POWER, SQRT, ROUND, CEIL, FLOOR y SIGN.
ABS — Valor absoluto
ABS(n) devuelve el valor absoluto (no negativo) de un número. Los números negativos se convierten en positivos; los números positivos y el cero no cambian.
Resulta útil cuando le importa la distancia respecto de cero y no la dirección; por ejemplo, para calcular cuánto se aleja una temperatura del objetivo, independientemente de si está por encima o por debajo.
SELECT ABS(-42), -- 42
ABS(15), -- 15
ABS(0); -- 0ABS en una consulta real
Imagine una tabla transactions en la que las retiradas se almacenan como cantidades negativas. Puede usar ABS para mostrar todas las cantidades como números positivos, independientemente de su dirección.
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 de la división
MOD(dividend, divisor) devuelve el resto resultante de dividir el primer número entre el segundo. Es el equivalente en SQL del operador % de muchos lenguajes de programación.
Un uso clásico consiste en comprobar si un número es par o impar: si MOD(n, 2) = 0, el número es par; de lo contrario, es impar.
SELECT MOD(10, 3), -- 1 (10 = 3*3 + 1)
MOD(15, 5), -- 0 (15 = 5*3 + 0)
MOD(7, 2); -- 1 (odd number)MOD en una consulta real
Puede usar MOD dentro de una cláusula WHERE para filtrar filas. Aquí seleccionamos únicamente los pedidos cuyo id es 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 una potencia
POWER(base, exponent) eleva un número a la potencia indicada. POWER(2, 10) da 1024 y POWER(9, 0.5) da 3 (la raíz cuadrada de 9).
Esta función resulta útil para calcular intereses compuestos, aplicar fórmulas de áreas y resolver cualquier situación que implique un crecimiento exponencial.
SELECT POWER(2, 10), -- 1024
POWER(3, 3), -- 27
POWER(9, 0.5); -- 3 (square root)SQRT — Raíz cuadrada
SQRT(n) es una forma abreviada y práctica de POWER(n, 0.5). Devuelve la raíz cuadrada de un número no negativo.
Por ejemplo, si almacena el área de un terreno cuadrado, puede obtener la longitud de su lado con SQRT(area).
SELECT SQRT(25), -- 5
SQRT(2), -- 1.4142...
SQRT(100); -- 10ROUND — Redondear a N decimales
ROUND(n, d) redondea n a d decimales. Si omite d (o pasa 0), el resultado es un entero. Los valores negativos de d redondean a la izquierda del punto decimal.
SELECT ROUND(3.14159, 2), -- 3.14
ROUND(2.555, 2), -- 2.56
ROUND(1234.5, -2), -- 1200
ROUND(9.9); -- 10CEIL y FLOOR — Redondear siempre hacia arriba o hacia abajo
CEIL(n) (también se escribe CEILING) siempre redondea hacia arriba al entero más cercano, mientras que FLOOR(n) siempre redondea hacia abajo.
Use CEIL cuando necesite una cantidad mínima de algo (por ejemplo, las páginas necesarias para imprimir filas) y FLOOR cuando necesite el número entero más grande que no supere un valor (por ejemplo, las semanas completas transcurridas).
SELECT CEIL(4.1), -- 5
CEIL(-4.1), -- -4
FLOOR(4.9), -- 4
FLOOR(-4.9); -- -5SIGN — ¿Qué signo tiene el número?
SIGN(n) devuelve 1 si el número es positivo, -1 si es negativo y 0 si es cero. Es una forma rápida de clasificar valores numéricos sin escribir una expresión CASE.
SELECT SIGN(42), -- 1
SIGN(-7), -- -1
SIGN(0); -- 0Combinar funciones matemáticas
Las funciones matemáticas se pueden combinar libremente dentro de una misma expresión. El ejemplo siguiente calcula el pago mensual de un préstamo sencillo usando ROUND y POWER conjuntamente, y muestra cómo se complementan estas funciones en una lógica empresarial 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;Comprobación rápida
Compruebe cuánto comprende las funciones matemáticas de SQL.
Resumen de la lección
¡Buen trabajo! Este es un resumen de las funciones matemáticas de SQL que ha aprendido en esta lección:
- ABS(n) — valor absoluto (elimina el signo)
- MOD(a, b) — resto de dividir a entre b
- POWER(base, exp) — eleva un número a una potencia
- SQRT(n) — raíz cuadrada
- ROUND(n, d) — redondea a d decimales
- CEIL(n) — siempre redondea hacia arriba al siguiente entero
- FLOOR(n) — siempre redondea hacia abajo al entero anterior
- SIGN(n) — devuelve 1, -1 o 0 según el signo del número
Estas funciones funcionan en las principales bases de datos SQL y se pueden anidar o combinar para gestionar directamente en las consultas una lógica numérica compleja.
Preguntas frecuentes
¿La lección «Funciones matemáticas útiles» es gratis?
Sí — el texto completo de «Funciones matemáticas útiles» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de SQL Academy, actualiza a CoddyKit PRO. El curso de SQL Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Funciones matemáticas útiles»?
ABS, MOD, POWER y muchas más Practicas SQL Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar SQL Academy?
No se requiere experiencia previa. SQL Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Funciones matemáticas útiles»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de SQL Academy?
Sí. Cada lección de SQL Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Aritmética y operadores
- Redondeo y truncamiento
- División de enteros frente a división decimal
- Funciones matemáticas útiles