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)