Skip to main content
Documents
Share
LinkedIn
Facebook
Twitter
Copy
ClausesStatementsKeywordsExpressionsFunctionsIndexesPerformance Optimization

MySQL ABS() Function

The ABS() function in MySQL returns the absolute value of a given number, removing any negative sign. It is useful for ensuring that numeric comparisons and calculations are performed using non-negative values.

Usage

The ABS() function is used when you need to work with the magnitude of a number regardless of its sign, such as in financial calculations or statistical analyses. It is often utilized in SELECT statements to manipulate data output.

sql
SELECT ABS(number);

In this syntax, ABS(number) takes a numeric expression and returns its absolute value.

Data Type Handling

The ABS() function can handle various data types, including integers and decimals. If NULL is passed to the function, it returns NULL. Passing a non-numeric value will cause an error, as ABS() requires a numeric expression.

Examples

1. Basic Absolute Value

sql
SELECT ABS(-10);

This example returns 10, which is the absolute value of -10.

2. Using ABS() with Table Data

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

Here, the ABS() function is applied to the discount column of the orders table, ensuring all discount values are non-negative.

3. ABS() in Conditional Statements

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

In this example, ABS() helps select employees whose salary is within $10,000 of $50,000.

4. Combining ABS() with Other Functions

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

This example calculates the average of the absolute salary values, demonstrating how ABS() can be used in conjunction with AVG().

Tips and Best Practices

  • Use ABS() for clarity. Clearly indicate when the absolute value matters in calculations to communicate intent and reduce errors.
  • Combine with other functions. Integrate ABS() with functions like SUM() or AVG() for comprehensive data analysis.
  • Optimize performance. When using ABS() in WHERE clauses, consider its impact on index usage. To maintain performance, apply ABS() to constant expressions rather than indexed column data.
  • Check data integrity. Utilize ABS() to validate and clean data inputs, ensuring negative values are meaningful in your dataset context.