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


ABS (Transact-SQL)

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

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

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

Синтаксис

ABS ( numeric_expression )  

Аргументы

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

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

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

Тип Ввода Возвращаемый тип
Плавающий, настоящий float
Десятичная(p, s) Десятичная система (38, с)
int, smallint, tinyint int
bigint bigint
деньги, маленькие деньги 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)