Функции BLOB[159]
Функции BLOB[159]
FBUDF
STRING2BLOB(VALUE)
Linux, Win32
Принимает поле строки (столбец, переменную, выражение) и возвращает текст BLOB
Аргументы
VALUE: столбец или выражение, результатом вычисления которого является значение типа VARCHAR 300 символов или меньше
Возвращаемое значение
Текст BLOB
Замечания
В большинстве случаев нет необходимости вызывать эту функцию. Firebird напрямую принимает строки в качестве входных данных для BLOB
Пример
Следующий фрагмент модуля PSQL выполняет конкатенацию двух строк и конвертирует результат в текст BLOB:
. . .
DECLARE VARIABLE V_COMMENTl VARCHAR(250);
DECLARE VARIABLE V_COMMENT2 VARCHAR(45);
DECLARE VARIABLE V_MEMO VARCHAR(296) = ;
. . .
SELECT<. . .другие поля. . .>, COMMENT1, COMMENT2
FROM APPLICATION
WHERE APPLICATION_ID = :APP_ID
INTO <...другие переменные...>, :V_COMMENTl, V_COMMENT2;
IF (V_COMMENT1 IS NOT NULL) THEN
V_MEMO = V_COMMENT1;
IF (V_COMMENT2 IS NOT NULL) THEN
BEGIN
IF (V_MEMO = ') THEN
V_MEMO = V_C0MMENT2;
ELSE
V_MEM0 = V_MEMO || || V_COMMENT2;
END
IF (V_MEMO <> ) THEN
INSERT INTO MEMBERSHIP(
FIRST_NAME, LAST_NAME, APP_ID, BLOB_MEMO)
VALUES (
:FIRST_NAME, :LAST_NAME, :APP_ID,
STRING2BLOB (:V_MEMO) ) ;
. . .
Связанные или похожие функции
См. также F_BLOBASPCHAR()
FREEUDFLIB
F_BLQBMAXSEGENTLENGTH(VALUE)
Win32
Принимаемая ссылка на BLOB В памяти возвращает количество сегментов для его хранения
Аргументы
VALUE является идентификатором столбца BLOB В таблице
Возвращаемое значение
Целое число, являющееся количеством сегментов
Пример
SELECT F_BLOBSEGMENTCOUNT(BLOB_MEMO) AS SEGMENT_COUNT FROM MEMBERSHIP WHERE MEMBER_ID = ....;
Связанные или похожие функции
См. также F_MAXBLOBSEGMENTSIZE(), F_BLOBSIZE()
FREEUDFLIB
F_BLOBSIZE(VALUE)
Win32
Принимаемая ссылка на BLOB в памяти возвращает размер в байтах
Аргументы
VALUE является идентификатором столбца BLOB в таблице
Возвращаемое значение
Целое число, являющееся размером BLOB в байтах
Пример
SELECT F_BLOBSIZE(BLOB_MEMO) AS SIZE_OF_MEMO FROM MEMBERSHIP WHERE MEMBER_ID = ;
Связанные или похожие функции
См. также F_BLOBSEGMENTCOUNT(), F_BLOBMAXSEGMENTSIZE()
FREEUDFLIB
F_BLOBASPCHAR(VALUE)
Win32
Принимает ссылку на поле BLOB (столбец или переменная) и возвращает [ его содержимое в виде строки, завершаемой нулем
Аргументы
VALUE является ссылкой на столбец или переменную BLOB
Возвращаемое значение
Строка, завершаемая нулем
Замечания
Используйте эту функцию только для тех BLOB, о которых вы точно знаете, ; что их размер не превышает максимальную длину типа VARCHAR (32 765 байт). Учитывайте увеличенный размер в байтах в BLOB, хранящих многобайтовые символы
Пример
SELECT F_BLOBASPCHAR(BLOB_MEMO) AS MEMO_STRING FROM MEMBERSHIP WHERE MEMBER_ID = ;
Связанные или похожие функции
См. также STRING2BLOB()
FREEUDFLIB
F_BLQBLEFT(VALUE, N)
Win32
Получает ссылку на поле BLOB (столбец или переменная) и возвращает первые n символов
Аргументы
VALUE: идентификатор столбца или переменной BLOB.
N: максимальное количество возвращаемых символов. Не должно превышать максимальной длины для VARCHAR (32 765 байт)
Возвращаемое значение
Завершаемая нулем строка длиной N или менее символов
Замечания
Учитывайте увеличенный размер в байтах в BLOB, хранящих многобайтовые символы
Пример
SELECT F_BLOBLEFT(BLOB_MEMO, 20) AS MEMO_START
FROM MEMBERSHIP WHERE MEMBER_ID = ;
Связанные или похожие функции
См. также F_BLOBMID(), F_BLOBRIGHT()
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 в противном случае