Чтение онлайн

ЖАНРЫ

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Борри Хелен

Шрифт:

IB_UDF

SIN(VALUE)

Linux, Win32

Возвращает синус значения VALUE

Аргументы

VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, преобразуемым к значению (в градусах) от -263 до 263

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

Число DOUBLE PRECISION или 0, если входное значение выходит за границы диапазона

Замечания

Если VALUE больше или равно 263 либо меньше или равно -263, то произойдет потеря значения, а функция сгенерирует ошибку A TLOSS и вернет 0

Пример

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

угла в градусах:

IF (NEW.READINGl IS NOT NULL) THEN

NEW.RDG_SINE = SIN (NEW.READINGl) ;

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

См. также cos, ASIN, SINH

IB_UDF

HSIN(VALUE)

Linux, Win32

Возвращает гиперболический синус значения VALUE

Аргументы

VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, преобразуемым к значению (в градусах) от -263 до 263

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

Число DOUBLE PRECISION или 0, если входное значение выходит за границы диапазона

Замечания

Если VALUE больше или равно 263 или меньше или равно -263, то произойдет потеря значения и функция сгенерирует ошибку a_TLOSS и вернет 0

Пример

Следующий фрагмент триггера вычисляет и сохраняет гиперболический синус угла в градусах:

IF (NEW.READINGl IS NOT NULL) THEN

NEW.RDG_SIN_HYP = SINH(NEW.READINGl);

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

См. также SIN, TANH, COSH

IB_UDF

TAN(VALUE)

Linux, Win32

Возвращает тангенс значения VALUE

Аргументы

VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, преобразуемым к значению (в градусах) от -263 до 263

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

Число DOUBLE PRECISION или 0, если входное значение выходит за границы диапазона

Замечания

Если VALUE больше или равно 263 или меньше или равно -263, то произойдет потеря значения и функция сгенерирует ошибку a_TLOSS и вернет 0

Пример

Следующий фрагмент триггера вычисляет и сохраняет тангенс угла в градусах:

IF (NEW.READINGl IS NOT NULL) THEN NEW.RDG_TAN = TAN (NEW. READINGl) ;

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

См. также сот, ATAN, TANH

IB_UDF

TANH(VALUE)

Linux, Win32

Возвращает гиперболический тангенс значения VALUE

Аргументы

VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, преобразуемым к значению (в градусах) от -263 до 263

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

Число DOUBLE PRECISION или 0, если входное значение выходит за границы диапазона

Замечания

Если VALUE больше или равно 263 либо меньше или равно -263, то произойдет потеря значения, а функция сгенерирует ошибку a TLOSS и вернет 0

Пример

Следующий фрагмент триггера вычисляет и сохраняет гиперболический тангенс угла в градусах:

IF (NEW.READINGl IS NOT NULL) THEN

NEW.RDG_TAN_HYP = TANH (NEW. READINGl) ;

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

См. также TAN, ATAN

Подпрограммы форматирования данных

FREEUDFLIB

F_DOLLARVAL(VALUE)

Linux, Win32

Форматирует значение числа с фиксированной точкой в формат валюты, например, в 99 999 999.99, подходящий для конкатенации с символами валюты и другими украшениями

Аргументы

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

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

Строка переменной длины

Замечания

Необходимо

быть внимательным по отношению к точности входного числа, особенно в случае, когда оно получается в результате вычисления. Можно ожидать неверных результатов, когда значение передается значениям CHAR или VARCHAR, размер которых слишком мал для приема этого значения

Пример

SELECT '$' || F_DOLLARVAL (CAST (SUM (PURCHASE_AMT) AS DOUBLE PRECISION)) ||' USD'

AS TOTALISPEND FROM MEMBER ACCOUNT WHERE MEMBER_ID = 440099;

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

См. также F_FixedPoint

FREEUDFLIB

F_FIXEDPOIRT(VALUE1, VALUE2)

Win32

Форматирует передаваемое значение VALUE1 как строку с фиксированной точкой с количеством дробных знаков VALUE2

Аргументы

VALUE1: столбец или выражение, которое вычисляется в число с плавающей точкой: преобразуемое число.

VALUE2: константа или выражение, которое вычисляется в целый тип: количество знаков после десятичной точки для отображения в выходных данных

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

Строка переменной длины

Замечания

Необходимо быть внимательным по отношению к точности входного числа, особенно в случае, когда оно получается в результате вычисления. Можно ожидать неверных результатов, когда значение передается значениям CHAR или VARCHAR, размер которых слишком мал для приема этого значения

Пример

SELECT 'TOTALYARDAGE: ' || F_FIXEDPOINT(SUM(YARDAGE), 3) || ' yds'

AS TOTAL YARDAGE FROM PIECE_GOODS

WHERE PRODUCT_ID = 100;

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

См. также FjDollarValue

IB_UDF

F_GENERATESHDXINDEX(VALUE)

Win32

Получая строку VALUE, вычисляет ее значение SOUNDEX

Аргументы

VALUE: столбец или выражение, вычисляемое в символьный тип, либо имя, для которого генерируется SOUNDEX

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

Шестисимвольный индекс SOUNDEX

Замечания

Простой алгоритм SOUNDEX используется для вычисления индекса SOUNDEX, он генерирует алгоритмический код. Вам не нужно понимать этот алгоритм для реализации индексирования SOUNDEX

Пример

Следующий фрагмент триггера BEFORE INSERT демонстрирует, как эта функция может быть использована для автоматического сохранения столбца SOUNDEX в качестве столбца поиска в регистре участников:

IF (NEW.LAST_NAME IS NOT NULL) THEN

NEW. SOUNDEX NAME = F SNDXINDEX (NEW.LAST NAME)

Приложение 2. Решение сетевых проблем

Когда у вас возникают проблемы подключения клиента к серверу, этот набор тестов может помочь вам локализовать причину. Если все они ошибочны, не забывайте о возможности проверки сетевых кабелей: вставлены ли они в разъемы и чисты ли все контакты!

Следующий список содержит основные вещи, которые вы можете попытаться сделать.

Можете ли вы вообще соединиться с базой данных?

Если у вас запущен Суперсервер под Windows или Классический сервер в POSIX, проверьте, можете ли вы выполнить локальное соединение. (Суперсервер в POSIX и Классический сервер в Windows не поддерживают локальных соединений.)

1. Вызовите окно командной строки на машине сервера базы данных и запустите приложение типа isql или графический инструмент под Windows, такой как IB SQL или IBAccess.

2. Попытайтесь соединиться с базой данных без задания имени хоста- просто укажите путь.

POSIX (все в одной команде):

./isql /opt/firebird/examples/employee.fdb

– user SYSDBA -password yourpwd

Windows (все в одной команде):

isql 'c:\Program Files\Firebird\Firebird_1_5\examples\employee.fdb'

– user SYSDBA -password yourpwd

Если это работает, значит сервер запущен и путь к базе данных правильный. В противном случае проверьте пароль, а также находит ли ваше приложение правильную версию клиентской библиотеки.

Можете ли вы соединиться с базой данных в локально закольцованном варианте?

Для любой версии сервера (кроме Встроенного сервера под Windows) вы можете эмулировать клиентское соединение с сервером через интерфейс удаленного клиента, соединяясь в локально закольцованном режиме TCP/IP (loopback). Это рекомендованный режим для всех локальных соединений к полным серверам. Если сервисы TCP/IP сконфигурированы и запущены в системе, это должно работать, даже если не инсталлирована сетевая карта.

Поделиться с друзьями: