Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Función MOD() de MySQL

La función `MOD()` de MySQL calcula el resto de la división de dos números. Se suele utilizar para operaciones que requieren aritmética de módulos, como determinar si un número es par o impar.

Utilización

La función `MOD()` se utiliza para hallar el resto cuando una expresión numérica se divide por otra. Es especialmente útil en situaciones que implican operaciones cíclicas o determinar la divisibilidad.

MOD(N, M);

En esta sintaxis, `N` es el dividendo y `M` es el divisor; la función devuelve el resto de `N` dividido por `M`.

Ejemplos

1. Funcionamiento básico del módulo

SELECT MOD(10, 3);

Esta consulta devuelve `1`, que es el resto de `10` dividido por `3`.

2. Utilizar MOD() con datos de tabla

SELECT order_id, MOD(order_id, 2) AS remainder
FROM orders;

Este ejemplo calcula el resto de cada `id_pedido` dividido por `2`, útil para identificar los ID de pedido pares o impares.

3. Lógica condicional con MOD()

SELECT employee_id
FROM employees
WHERE MOD(employee_id, 5) = 0;

Este ejemplo selecciona los `employee_id` que son múltiplos de 5, utilizando la función `MOD()` para filtrar los resultados.

4. Manejo de números negativos

SELECT MOD(-10, 3);

Esta consulta devuelve `-1`, ilustrando cómo `MOD()` trata los dividendos negativos devolviendo un resto con el mismo signo que el dividendo. Del mismo modo, `SELECT MOD(10, -3);` devuelve `1`, reflejando el signo del divisor.

Consejos y buenas prácticas

  • Utilízalo para operaciones cíclicas. Utiliza `MOD()` para tareas como distribuir elementos uniformemente entre grupos.
  • Comprueba si el divisor es cero. Asegúrate de que el divisor no es cero para evitar errores en la ejecución. Al intentar `MOD(N, 0)` se obtiene un valor `NULL`, ya que la división por cero no está definida.
  • Combínalo con otras funciones. Combina `MOD()` con funciones como `FLOOR()` o `CEIL()` para operaciones aritméticas complejas.
  • Optimiza el rendimiento. Utiliza `MOD()` en las cláusulas `WHERE` con precaución, ya que puede afectar al rendimiento de la consulta si no se indexa correctamente. Considera la posibilidad de crear índices en las columnas implicadas en las operaciones `MOD()` o de utilizar optimizaciones específicas de la base de datos para mejorar el rendimiento.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis