ABS ФУНКЦИЯ
Oracle/PLSQL функция ABS возвращает абсолютное значение числа.
Синтаксис
Синтаксис Oracle/PLSQL функции ABS:
ABS( number )
Параметры или аргументы
number число для преобразования в абсолютную величину.
Функция ABS возвращает numeric значение.
Применение
Функцию ABS можно использовать в следующих версиях Oracle/PLSQL:
- Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i
Пример
Рассмотрим несколько примеров функции ABS, чтобы понять, как использовать функцию ABS в Oracle/PLSQL.
SQL Server функция ABS
В SQL Server (Transact-SQL) функция ABS возвращает абсолютное значение числа.
Синтаксис
Синтаксис функции ABS в SQL Server (Transact-SQL):
ABS( number )
Параметры или аргументы
number — число для преобразования в абсолютное значение.
Применение
Функция ABS может использоваться в следующих версиях SQL Server (Transact-SQL):
SQL Server vNext, SQL Server 2016, SQL Server 2015, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005
Пример
Рассмотрим некоторые примеры SQL Server функции ABS, чтобы понять, как использовать функцию ABS в SQL Server (Transact-SQL). Например:
Словарик по FireBird
Функция ABS возвращает абсолютное значение числа, переданного в качестве параметра < аргумент >.
В Firebird версии младше 2.1 для того, чтобы пользоваться этой функцией, ее небходимо подключить к базе данных как UDF.
Объявление
1. В Firebird версии младше 2.1 функция объявляется как UDF в внешнем модуле «ib_udf».
DECLARE EXTERNAL FUNCTION ABS DOUBLE PRECISION RETURNS DOUBLE PRECISION BY VALUE ENTRY_POINT "IB_UDF_abs" MODULE_NAME "ib_udf";
2. В Firebird версии 2.1 и старше является встроенной функцией при соглашении объявления ее как:
DECLARE EXTERNAL FUNCTION ABS DOUBLE PRECISION RETURNS DOUBLE PRECISION BY VALUE ENTRY_POINT "IB_UDF_abs" MODULE_NAME SYSTEM;
Пример
Допустим, существует таблица CUSTOMERS с доменами ID INTEGER и AMOUNT DOUBLE PRECISION, который может быть отрицательным.
Требуется выбрать из таблицы все записи, указав абсолютное значение домена AMOUNT.
SELECT ABS(C.AMOUNT) FROM CUSTOMERS C
SET TERM . ; CREATE OR ALTER PROCEDURE CUST_AMOUNT RETURNS ( CUST_ID INTEGER ,AMOUNT DOUBLE PRECISION )AS BEGIN FOR SELECT C.ID, C.AMOUNT FROM CUSTOMERS C INTO :CUST_ID, :AMOUNT DO BEGIN AMOUNT = ABS(:AMOUNT); SUSPEND; END END . SET TERM ; .
ABS (Transact-SQL)
Математическая функция, возвращающая абсолютное (положительное) значение указанного числового выражения. ( ABS изменяет отрицательные значения на положительные значения. ABS не влияет на ноль или положительные значения.)
Синтаксис
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».