Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Función ABS() de MySQL

La función ABS() de MySQL devuelve el valor absoluto de un número dado, eliminando cualquier signo negativo. Es útil para garantizar que las comparaciones y cálculos numéricos se realizan utilizando valores no negativos.

Utilización

La función ABS() se utiliza cuando necesitas trabajar con la magnitud de un número independientemente de su signo, como en cálculos financieros o análisis estadísticos. A menudo se utiliza en las sentencias SELECT para manipular la salida de datos.

sql
SELECT ABS(number);

En esta sintaxis, ABS(number) toma una expresión numérica y devuelve su valor absoluto.

Manejo de tipos de datos

La función ABS() puede manejar varios tipos de datos, incluidos enteros y decimales. Si se pasa NULL a la función, ésta devuelve NULL. Pasar un valor no numérico provocará un error, ya que ABS() requiere una expresión numérica.

Ejemplos

1. Valor absoluto básico

sql
SELECT ABS(-10);

Este ejemplo devuelve 10, que es el valor absoluto de -10.

2. Utilizar ABS() con datos de tabla

sql
SELECT order_id, ABS(discount) AS positive_discount
FROM orders;

Aquí, la función ABS() se aplica a la columna discount de la tabla orders, asegurando que todos los valores de descuento sean no negativos.

3. ABS() en sentencias condicionales

sql
SELECT employee_id, salary
FROM employees
WHERE ABS(salary - 50000) < 10000;

En este ejemplo, ABS() ayuda a seleccionar a los empleados cuyo salario está entre 10.000 y 50.000 $.

4. Combinar ABS() con otras funciones

sql
SELECT AVG(ABS(salary)) AS average_absolute_salary
FROM employees;

Este ejemplo calcula la media de los valores salariales absolutos, demostrando cómo puede utilizarse ABS() junto con AVG().

Consejos y buenas prácticas

  • Utiliza ABS() para mayor claridad. Indica claramente cuándo importa el valor absoluto en los cálculos para comunicar la intención y reducir los errores.
  • Combínalo con otras funciones. Integra ABS() con funciones como SUM() o AVG() para un análisis completo de los datos.
  • Optimiza el rendimiento. Cuando utilices ABS() en las cláusulas WHERE, ten en cuenta su impacto en el uso de índices. Para mantener el rendimiento, aplica ABS() a expresiones constantes en lugar de a datos de columnas indexadas.
  • Comprueba la integridad de los datos. Utiliza ABS() para validar y limpiar las entradas de datos, asegurándote de que los valores negativos tienen sentido en el contexto de tu conjunto de datos.

Perfeccionamiento de SQL para principiantes

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