Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
FREEUDFLIB | F_BLOBLINE(VALUE, N) |
Win32 | Получает ссылку на поле BLOB (столбец или переменная) и возвращает строку за номером N |
Аргументы | VALUE: идентификатор столбца или переменной BLOB. N: номер строки BLOB. Первая строка рассматривается как строка номер 1 |
Возвращаемое значение | Завершаемая нулем строка |
Замечания | Используйте эту функцию только для тех BLOB, которые содержат строки, разделенные символами CRLF (возврат каретки, перевод строки). Не используйте ее, если вы не уверены, что строки не превышают максимальную длину для типа VARCHAR (32 765 байт). Учитывайте увеличенный размер в байтах в BLOB, хранящих многобайтовые символы |
Пример | SELECT F_BLOBLINE(BLOB_MEMO, 20) AS MEMO_LINE20 FROM MEMBERSHIP WHERE MEMBER ID - ....; |
Связанные | См. также F_BLOBMID, F_BLOBRIGHT |
FREEUDFLIB | F_BLOBMID(VALUE, STARTPOS, N) |
Win32 | Получает ссылку на поле BLOB (столбец или переменная) и возвращает N символов, начиная с позиции STARTPOS |
Аргументы | VALUE: идентификатор столбца или переменной BLOB. STARTPOS: позиция первого символа в возвращаемой строке. N: максимальное количество возвращаемых символов. Не должно превышать максимальной длины для VARCHAR (32 765 байт) |
Возвращаемое значение | Завершаемая нулем строка длиной N или менее символов |
Замечания | Учитывайте увеличенный размер в байтах в BLOB, хранящих многобайтовые символы |
Пример | SELECT F_BLOBMID(BLOB_MEMO, 140, 20) AS MEMO_SUBSTRING FROM MEMBERSHIP WHERE MEMBER_ID = . . .; |
Связанные или похожие функции | См. также F_BLOBRIGHT, F_BLOBLEFT |
FREEUDFLIB | F_BLOBRIGHT(VALUE, N) |
Win32 | Получает ссылку на поле BLOB (столбец или переменная) и возвращает последние N символов |
Аргументы | VALUE: идентификатор столбца или переменной BLOB. N: максимальное количество возвращаемых символов. Не должно превышать максимальной длины для VARCHAR (32 765 байт) |
Возвращаемое значение | Завершаемая нулем строка длиной N или менее символов |
Замечания | Учитывайте увеличенный размер в байтах в BLOB, хранящих многобайтовые символы |
Пример | SELECT F_BLOBRIGHT(BLOB_MEMO, 20) AS MEMO_END FROM MEMBERSHIP WHERE MEMBER_ID = ; |
Связанные или похожие функции | См. также F BLOBMIDO, F BLOBLEFTO |
FREEUDFLIB | F_BLOBBINCMP(VALUE1, VALUE2) |
Win32 | Выполняет двоичное сравнение двух полей BLOB (столбцы или переменные) и возвращает значение, указывающее, являются ли они одинаковыми |
Аргументы | VALOE1 и VALUE2 являются идентификаторами двух столбцов или переменных BLOB, для которых выполняется сравнение |
Возвращаемое значение | 1 (истина), если поля одинаковы, и 0 в противном случае |
Тригонометрические функции
IB_UDF | ACOS(VALUE) |
Linux, Win32 | Вычисляет арккосинус для числа между -1 и 1. Если число выходит за эти границы, то возвращается NaN |
Аргументы | VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, которое является допустимым значением косинуса |
Возвращаемое значение | Число DOUBLE PRECISION в градусах |
Пример | Следующий фрагмент триггера преобразует значение косинуса в градусы: . . . IF (NEW.RAW_VALUE IS NOT NULL) THEN NEW.READING1 = ACOS(NEW.RAW_VALUE); |
Связанные или похожие функции | См, также COS, COSH и другие тригонометрические функции |
IB_UDF | ASIN(VALUE) |
Linux, Win32 | Вычисляет арксинус для числа между -1 и 1. Если число выходит за этот диапазон, то возвращается NaN |
Аргументы | VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, которое является допустимым значением синуса |
Возвращаемое значение | Число DOUBLE PRECISION в градусах |
Пример | Следующий фрагмент триггера преобразует значение синуса в градусы: . . . IF (NEW.RAW_VALUE IS NOT NULL) THEN NEW.READING1 = ACOS(NEW.RAW VALUE); |
Связанные или похожие функции | См. также SIN, SINH и другие тригонометрические функции |
IB_UDF | ATAH(VALUE) |
Linux, Win32 | Возвращает арктангенс входного значения |
Аргументы | VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, которое является допустимым значением тангенса |
Возвращаемое значение | Число DOUBLE PRECISION в градусах |
Пример | Следующий фрагмент триггера преобразует значение тангенса в арктангенс (в градусах): IF (NEW.RAW_VALUE IS NOT NOLL) THEN NEW.READINGL = ATAN(NEW.RAW_VALUE); |
Связанные или похожие функции | См. также ATAN2. TAN , TANH и другие тригонометрические функции |
IB_UDF | ATAH2(VALUE1, VALUE2) |
Linux, Win32 | Возвращает значение, являющееся арктангенсом в градусах, вычисляемое как арктангенс результата деления одного тангенса на другой |
Аргументы | VALUE 1 и VALUE2 являются числовыми столбцами или выражениями, вычисляемыми в число DOUBLE PRECISION, которое является допустимым значением тангенса |
Возвращаемое значение | Число DOUBLE PRECISION, являющееся арктангенсом VALUE1 / VALUE2 В градусах |
Пример | Следующий фрагмент модуля PSQL сохраняет значение, которое является углом в градусах, как арктангенс результата деления одного тангенса на другой: UPDATE HEAVENLY_HAPPENINGS SET INCREASE_RATIO = ATAN2 (INITIAL TAN, FINAL TAN) WHERE HAPPENING_ID = :happening_id; |
Связанные или похожие функции | См. также ATAN, TAN, TANH |
IB_UDF | COS(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_COSINE = COS(NEW.READINGl); |
Связанные или похожие функции | См. также SIN, cos, ACOS, COSH |
IB_UDF | COSH(VALUE) |
Linux, Win32 | Возвращает гиперболический косинус значения VALUE |
Аргументы | VALUE: столбец или выражение, совместимое со знаковым или беззнаковым числом DOUBLE PRECISION, преобразуемым к значению (в градусах) от -263 до 263 |
Возвращаемое значение | Число DOUBLE PRECISION или 0, если входное значение выходит за границы диапазона |
Замечания | Если VALUE больше или равно 263 либо меньше или равно -263, то произойдет потеря значения, а функция сгенерирует ошибку a_TLOSS и вернет 0 |
Пример | Следующий фрагмент триггера вычисляет и сохраняет косинус угла в градусах: IF (NEW.READING1 IS NOT NULL) THEN NEW.RDG_COS_HYP = COSH(NEW. READING1) ; |
Связанные или похожие функции | См. также SINH, TANH и другие тригонометрические функции |
IB_UDF | COT(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_COTAN = COT(NEW.READINGl); |
Связанные или похожие функции | См. также TAN, ATAN, TANH |