Skip to main content
Documents
Basic SyntaxMath FunctionsDate FunctionsJSON FunctionsDatabasesTables & Schema ManagementString FunctionsTriggersIndexes

PostgreSQL ABS

The `ABS` function in PostgreSQL is a mathematical function used to return the absolute value of a number, effectively removing any negative sign. It is useful when you need non-negative results from calculations that may involve negative numbers.

Usage

The `ABS` function is employed when you require the magnitude of a number without regard to its sign, often in financial, statistical, or data analysis scenarios. It can handle various numeric types, including integers and floating-point numbers, emphasizing its versatility. Its syntax is straightforward:

SELECT ABS(numeric_expression);

In this syntax, `numeric_expression` is the number or expression from which you want to calculate the absolute value.

Examples

1. Basic Absolute Value

SELECT ABS(-15);

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

2. Absolute Value from a Column

SELECT ABS(account_balance)
FROM accounts;

Here, the absolute value of each `account_balance` in the `accounts` table is calculated, ensuring all values are non-negative.

3. Using ABS in a Calculation

SELECT order_id, ABS(quantity * price - discount) AS net_value
FROM orders;

In this example, the `ABS` function is used to compute the net value of each order, ensuring no negative values due to discounts exceeding the product of quantity and price.

Tips and Best Practices

  • Use with caution in logical conditions. Be cautious when using `ABS` in `WHERE` clauses, as it can obscure the original sign and lead to unexpected results. For example, `WHERE ABS(value) > 10` might not differentiate between negative and positive values that meet this condition.
  • Optimize performance. Consider the impact of using `ABS` on large datasets, as it may affect performance when applied to numerous rows.
  • Validate input values. Ensure that inputs to `ABS` are numeric to avoid errors.
  • Combine with other functions. Use `ABS` in conjunction with other mathematical functions to enhance data analysis and reporting capabilities.
  • Standard SQL function. `ABS` is a standard SQL function, making it familiar to users of other SQL databases.
  • Handling NULL values. The `ABS` function will return `NULL` when applied to `NULL` values, maintaining the nullability of the column.