# ABS (Transact-SQL)

**THIS TOPIC APPLIES TO:**SQL Server (starting with 2008)Azure SQL DatabaseAzure SQL Data Warehouse Parallel Data Warehouse

A mathematical function that returns the absolute (positive) value of the specified numeric expression. (`ABS`

changes negative values to positive values. `ABS`

has no effect on zero or positive values.)

Transact-SQL Syntax Conventions

## Syntax

```
ABS ( numeric_expression )
```

## Arguments

*numeric_expression*

Is an expression of the exact numeric or approximate numeric data type category.

## Return Types

Returns the same type as *numeric_expression*.

## Examples

The following example shows the results of using the `ABS`

function on three different numbers.

```
SELECT ABS(-1.0), ABS(0.0), ABS(1.0);
```

Here is the result set.

```
---- ---- ----
1.0 .0 1.0
```

The `ABS`

function can produce an overflow error when the absolute value of a number is greater than the largest number that can be represented by the specified data type. For example, the `int`

data type can hold only values that range from `-2,147,483,648`

to `2,147,483,647`

. Computing the absolute value for the signed integer `-2,147,483,648`

causes an overflow error because its absolute value is greater than the positive range for the `int`

data type.

```
DECLARE @i int;
SET @i = -2147483648;
SELECT ABS(@i);
GO
```

Here is the error message:

"Msg 8115, Level 16, State 2, Line 3"

"Arithmetic overflow error converting expression to data type int."

## See also

CAST and CONVERT (Transact-SQL)

Data Types (Transact-SQL)

Mathematical Functions (Transact-SQL)

Built-in Functions (Transact-SQL)