Шрифт:
IB_UDF | CEILING(VALUE) |
Linux, Win32 | Возвращает значение типа DOUBLE PRECISION, представляющее наименьшее целое, большее или равное входному значению |
Аргументы | VALUE является столбцом или выражением, которое дает число типа DOUBLE PRECISION |
Возвращаемое значение | Число DOUBLE PRECISION С нулевым количеством дробных знаков |
Пример | SELECT CEILING (LAST_TOTAL) AS ROUND_UP_NEAREST FROM SALES_HISTORY; |
IB_UDF | DIV(VALUE1, VALUE2) |
Linux, Win32 | Делит два целых числа и возвращает частное, отбрасывая дробную часть |
Аргументы | VALUE1 и VALUE2 являются столбцами или выражениями, которые преобразуются к числам типа SMALLINT или INTEGER |
Возвращаемое значение | Число DOUBLE PRECISION с нулевым количеством дробных знаков |
Пример | SELECT DIV(TERM, (CURRENT_DATE - START_DATE) / 365) AS YEARS_REMAINING FROM MORTGAGE_ACCOUNT WHERE ACCOUNT_ID = 12345; |
FBUDF | DPOWER(VALUE, EXPONENT) |
Linux, Win32 | Получает число и показатель степени и возвращает степень числа |
Аргументы | EXPONENT является столбцом или выражением, которое дает число типа DOUBLE PRECISION |
Возвращаемое значение | Возвращает степень числа в виде DOUBLE PRECISION |
Пример | SELECT DPOWER(2.64575,2) AS NEARLY_7 FROM RDB$DATABASE; |
Связанные или похожие функции | См. также SQRTO |
FREEUDFLIB | F_DOUBLEABS(VALUE) |
Win32 | Возвращает абсолютное значение числа с плавающей точкой |
Аргументы | VALUE является столбцом или выражением, которое преобразуется в число типа DOUBLE PRECISION или FLOAT |
Возвращаемое значение | Положительное число типа DOUBLE PRECISION |
Пример | SELECT ABS(SUM(ASSET_VALUE) ) AS LIABILITY FROM ASSET REGISTER WHERE ASSET VALUE < 0; |
Связанные или похожие функции | См. также другую внешнюю функцию ABS, которая выполняет ту же самую задачу и доступна не только на платформах Windows |
FREEUDFLIB | F_ISDVISIBLEBY(VALUE1, VALUE2) |
Win32 | Определяет, является ли значение нацело делимым на другое значение (то есть является ли VALUE2 делителем VALUE1). Возвращает 1, если числитель(VALUE1) нацело делится на знаменатель(VALUE2); иначе возвращает 0 |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является целый тип - число, которое будет делиться (числитель). VALUE2: другое целое - число, используемое в качестве знаменателя |
Возвращаемое значение | Возвращает 1, если истинно, 0, если ложно |
Пример | Эта функция может быть вызвана из ограничения CHECK, как в следующем примере: ALTER TABLE ORDER DETAIL ADD CONSTRAINT CHECK_MULTIPLE CHECK (ISDIVISIBLEBY (ORDER_QTY, PACK_QTY) = 1); Подобная проверка может быть использована в случае, когда для расфасованных элементов указана цена за единицу, а не за расфасовку |
FREEUDFLIB | F_MODULO(VALUE1, VALUE2) |
Win32 | Функция возвращает остаток отделения двух целых чисел |
Аргументы | VALUE1 и VALUE2 являются столбцами или выражениями, которые вычисляются в числа типа SMALLINT или INTEGER |
Возвращаемое значение | Число целого типа |
Замечания | Эта версия функции получения остатка от деления может быть более полезной, чем MOD, В сложных выражениях, где возвращаемое значение является частью другого выражения, которое оперирует целыми числами.(MOD возвращает число с плавающей точкой.) |
Пример | Фрагмент из триггера: ... IF (MODULO(NEW.HOURS * 100, 775) > 0.25) THEN ; NEW.OVERTIME_HOURS = MODULO(NEW.HOURS * 100, 775) / 100; |
Связанные или похожие функции | См. также функцию MOD, которая возвращает число с плавающей точкой |
FREEUDFLIB | F_ROUNDFLOAT(VALUE1, VALUE2) |
Win32 | Округляет передаваемое значение до ближайшего значения, которое больше или меньше заданной дробной части |
Аргументы | VALUE1: столбец или выражение, результатом вычисления которого является тип с плавающей точкой. Это округляемое число. VALUE2: столбец или выражение, результатом вычисления которого является тип с плавающей точкой. Это должно быть число меньше 1 и больше 0. Например, передайте значение 0.25 для округления до ближайшей четверти |
Возвращаемое значение | Число с плавающей точкой, которое является VALUE1, округленным до ближайшей дробной части VALUE2 |
Пример | Следующий оператор вычисляет PAID_HOURS, округляя HOURS WORKED до ближайшей четверти часа: UPDATE TIMESHEET SET PAID HOURS = F_ROUNDFLOAT(HOURS WORKED, 0.25) WHERE DATE_TIMESTAMP > CURRENT_DATE - 7; |
Связанные или похожие функции | См. также ROUND |
FREEUDFLIB | F_TRUNCATE(VALUE) |
Win32 | Усекает число с плавающей точкой до целого |
Аргументы | VALUE является столбцом или выражением, результатом вычисления которого является число с плавающей точкой |
Возвращаемое значение | Убирает дробную часть у VALUE и возвращает целую часть в виде целого типа |
Пример | Следующий оператор вернет целое число: SELECT F_TRUNCATE(SUM(AMT_OUTSTANDING)) AS ESTIMATED_DEBTORS FROM ACCOUNT WHERE AMT_OUTSTANDING > 0; |
Связанные или похожие функции | См. также TRUNCATE и ROUND |
IB_UDF | FLOOR(VALUE) |
Linux, Win32 | Возвращает значение с плавающей точкой, представляющее наибольшее целое, меньшее или равное VALUE |
Аргументы | VALUE является столбцом или выражением, вычисляемым в число типа DOUBLE PRECISION |
Возвращаемое значение | Число типа DOUBLE PRECISION С нулевой дробной частью |
Пример | SELECT FLOOR (CURRENT_DATE - START_DATE) AS DAYS_ELAPSED FROM DVD_LOANS; |