Поделиться через


ABS (Transact-SQL)

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

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

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

Синтаксис

ABS ( numeric_expression )  

Аргументы

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)