abs
Содержание
ABS()
Версии сервера
0.9 | 1.0 | 1.5.3 | 1.5.4 | 1.5.5 | 2.0 | 2.1 | 2.5 | 3.0 | |
---|---|---|---|---|---|---|---|---|---|
Как UDF | Да | Да | Да | Да | Да | Да | - | - | - |
Как встроенная функция | - | - | - | - | - | - | Да | Да | Да |
Доступно в
Формат
ABS( < аргумент > )
Аргумент | Описание |
---|---|
< аргумент > | Любой тип данных, приводимый к DOUBLE PRECISION |
Возвращает | DOUBLE PRECISION |
Описание
Функция 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
2) PSQL
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 ; !!!
См. также
Источник
langref.pdf
abs.txt · Последнее изменение: 2010/01/10 17:16 — peaktop
Обсуждение
1