Вход/Регистрация
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
вернуться

Борри Хелен

Шрифт:

IB_UDF

LN(VALUE)

Linux, Win32

Возвращает натуральный логарифм числа

Аргументы

VALUE является столбцом или выражением, вычисляемым в число типа DOUBLE PRECISION

Возвращаемое значение

Число типа DOUBLE PRECISION

Пример

SELECT LN ( (CURRENT_TIMESTAMP - LEASE_DATE) / 7) AS

NLOG_WEEKS

FROM LEASE_ACCOUNT ;

IB_UDF

LOG(VALUE1, VALUE2)

Linux, Win32

Возвращает логарифм по основанию x = VALUE1 числа у = VALUE2

Аргументы

VALUE1 (основание логарифма) и VALUE2 (число, с которым проводится операция) являются столбцами или выражениями, вычисляемыми в числа типа DOUBLE PRECISION

Возвращаемое значение

Число типа DOUBLE PRECISION

Замечания

Firebird 1.0.x и версии InterBase в этой функции имеют ошибку: log(x.y) ошибочно инвертирует аргументы и возвращает логарифм по основанию у числа x. Это было исправлено в версии 1.5. Имейте в виду, что существующие хранимые процедуры и код приложения могут иметь корректировки для этой ошибки

Пример

SELECT LOG(8, (CURRENT_TIMESTAMP - LEASE_DATE) /7) AS

LOG_WEEKS

FROM LEASE_ACCOUNT;

IB_UDF

LOG10(VALUE)

Linux, Win32

Возвращает десятичный логарифм входного числа

Аргументы

VALUE является столбцом или выражением, вычисляемым в число типа DOUBLE PRECISION

Возвращаемое значение

Число типа DOUBLE PRECISION

Пример

SELECT LOG1O( (CURRENT_TIMESTAMP - LEASE_DATE) / 7) AS

LOG10_WEEKS FROM LEASE_ACCOUNT ;

IB_UDF

MODULO(VALUEl, VALUE2)

Linux, Win32

Функция возвращает остаток отделения двух целых чисел

Аргументы

VALUE1 и VALUE2 являются столбцами или выражениями, вычисляемыми в числа типа SMALLINT или INTEGER

Возвращаемое значение

Число типа DOUBLE PRECISION

Пример

Фрагмент триггера:

...IF (MODULO(NEW.HOURS * 100, 775) > 25.0) THEN

NEW.OVERTIME_HOURS = MODULO(NEW.HOURS * 100, 775) / 100;

Связанные или похожие функции

См. также функцию f_Modulo, которая возвращает целое число

IB_UDF

PI

Linux, Win32

Возвращает значение n = 3.14159...

Аргументы

Аргументы отсутствуют, однако скобки требуются

Возвращаемое значение

Значение n в виде числа DOUBLE PRECISION

Пример

SELECT PI AS PI_VALUE FROM RDB$DATABASE;

IB_UDF

RAND

Linux, Win32

Возвращает случайное число в диапазоне между 0 и 1. Заметьте, что эта функция не работает в Firebird 1.5

Аргументы

Аргументы отсутствуют, но скобки требуются

Возвращаемое значение

Число типа DOUBLE PRECISION

Замечания

В настоящее время используется для установления начального значения генератора

Пример

SELECT RAND AS RANDOM NUMBER FROM RDB$DATABASE;

IB_UDF

ROUND(VALCE)

Linux, Win32

Округляет число с фиксированной точкой до ближайшего целого

Аргументы

VALUE является столбцом или выражением, вычисляемым в число с фиксированной точкой с дробными разрядами >0

Возвращаемое значение

Число целого типа

Замечания

Это полное округление. Если цифра сразу после десятичной точки больше или равна 5, то к цифре перед десятичной точкой добавляется единица, и у числа отсекаются дробные цифры. В противном случае просто отсекаются все дробные цифры

Пример

Следующий оператор составляет смету на основе результата округления произведения двух чисел NUMERIC(11,2):

SELECT JOB_NO, ROUND(RATE * HOURS) + 1 AS ESTIMATE

FROM QUOTATION

WHERE RATE IS NOT NULL AND HOURS IS NOT NULL;

Связанные или похожие функции

См. также TRUNCATE, F_ROUNDFLOAT

IB_UDF

SIGN(VALUE)

Linux, Win32

Возвращает 0, 1 или -1 в зависимости от того, является ли входное значение положительным, нулем или отрицательным соответственно

Аргументы

VALUE является столбцом или выражением, вычисляемым в число типа DOUBLE PRECISION

Возвращаемое значение

Число типа DOUBLE PRECISION

Пример

Фрагмент триггера:

... IF (SIGN(NEW.CURRENT_VALUE) < 1) THEN ...;

IB_UDF

SQRT(VALUE)

Linux, Win32

Возвращает квадратный корень числа

Аргументы

VALUE является столбцом или выражением, вычисляемым в число типа DOUBLE PRECISION

Возвращаемое значение

Число типа DOUBLE PRECISION

Пример

Фрагмент триггера:

... IF (SQRT(NEW.HYPOTENUSE) = SQRT(NEW.SIDE1) +

SQRT(NEW.SIDE2)) THEN

NEW.RIGHT ANGLED TRIANGLE = 'T';

  • Читать дальше
  • 1
  • ...
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: