MySQL ABS() Function – Return the Absolute Value of a Number

In MySQL, the ABS() function returns the absolute value of a given value.

An absolute value is the distance of a number on the number line from 0 without considering which direction from zero the number lies. Therefore, the absolute value of a number is always a non-negative value (i.e. it’s never negative).

Syntax

The syntax goes like this:

ABS(X)

Where X is the value for which you’d like the absolute value returned.

Example 1 – Basic Example

Here’s a basic example to demonstrate what ABS() returns for a given number.

SELECT ABS(7);

Result:

+--------+
| ABS(7) |
+--------+
|      7 |
+--------+

In this case, our argument is a positive number and so the same number is returned.

Example 2 – Negative Numbers

Here’s what happens if we pass in a negative value.

SELECT ABS(-7);

Result:

+---------+
| ABS(-7) |
+---------+
|       7 |
+---------+

As you can see, the result is a non-negative value (even though we passed in a negative value). This is the absolute value of the argument.

Example 3 – Expressions

You can return the absolute value of expressions, such as the following:

SELECT ABS(7+3);

Result:

+----------+
| ABS(7+3) |
+----------+
|       10 |
+----------+

Another example:

SELECT ABS(-7+3);

Result:

+-----------+
| ABS(-7+3) |
+-----------+
|         4 |
+-----------+

As you can see, this is a different result than we’d get if we simply returned the expression itself (without using the ABS() function). Here’s what that would return:

SELECT -7+3;

Result:

+------+
| -7+3 |
+------+
|   -4 |
+------+