Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure 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)