ABS (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Управляемый экземпляр SQL Azure Конечная точка аналитики аналитики Synapse Analytics Analytics (PDW)SQL Analyticsв Microsoft FabricХранилище в Microsoft Fabric

Математическая функция, возвращающая абсолютное (положительное) значение указанного числового выражения. (ABS изменяет отрицательные значения на положительные значения. ABS не влияет на ноль или положительные значения.)

Соглашения о синтаксисе Transact-SQL

Синтаксис

ABS ( numeric_expression )  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

numeric_expression
Выражение категории точного числового или приблизительного числового типа данных.

Типы возвращаемых данных

Тип возвращаемого значения зависит от типа входных данных numeric_expression:

Тип Ввода Возвращаемый тип
float, real float
decimal(p, s) decimal(38, s)
int, smallint, tinyint int
bigint bigint
money, smallmoney money
bit float

Если результат по размеру не соответствует типу возвращаемого значения, происходит ошибка арифметического переполнения.

Примеры

В этом примере показаны результаты применения функции ABS к трем различным числам.

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

Результирующий набор:

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

Функция ABS может вызвать ошибку переполнения, если абсолютное значение числа превышает наибольшее число, которое может быть представлено указанным типом данных. Например, тип данных int поддерживает диапазон значений от -2,147,483,648 до 2,147,483,647. Расчет абсолютного значения для целого числа со знаком -2,147,483,648 приводит к ошибке переполнения, так как его абсолютное значение превышает предел положительного диапазона для типа данных int.

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

Возвращает следующее сообщение об ошибке:

«Сообщение 8115, уровень 16, состояние 2, строка 3».

«Арифметическое переполнение при преобразовании выражения к типу данных int».

См. также

CAST и CONVERT (Transact-SQL)
Типы данных (Transact-SQL)
Математические функции (Transact-SQL)
Встроенные функции (Transact-SQL)