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

Борри Хелен

Шрифт:

FREEUDFLIB

F_CRLF

Win32

Возвращает строку Windows возврат каретки/начало строки ASCII(13) || ASCII(10)

Аргументы

Нет

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

Строка в стиле языка С (завершается нулем)

Пример

Следующий оператор добавляет Windows-маркеры конца строки в столбец таблицы (например, во внешнюю таблицу для экспорта в другое приложение):

INSERT INTO EXTABLE(COLUMN1, COLUMN2, EOL)

VALUES (99, 'An item of data', CRLF);

FREEUDFLIB

F_FINDW0RD(VALUE, N)

Win32

Начиная с указанной позиции n, возвращает слово, содержащее символ этой позиции и следующие символы вплоть до следующего символа пробела

Аргументы

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

N: целый тип, указывающий на позицию (начинающуюся с нуля) в строке, где находится требуемое слово

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

Строка

Замечания

Рассматривайте строки, передаваемые в F_FINDWORD, как массивы символов, начинающиеся с индекса 0

Пример

Следующий оператор возвращает слово 'pie':

SELECT F_FINDWORD('I never tasted pie like Mom used to make', 15) FROM RDB5DATABASE;

FREEUDFLIB

F_LEFT(VALUE, N)

Win32

Возвращает первые N символов из входной строки VALUE

Аргументы

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

N: целый тип, указывающий количество возвращаемых символов из левой части VALUE

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

Строка из N символов

Пример

Следующий оператор возвращает строку 'I never tasted pie':

SELECT F_LEFT('I never tasted pie like Mom used to make', 18) FROM RDB$DATABASE;

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

См. также SUBSTRLEN, SUBSTRO , внутреннюю функцию SUBSTRING

FREEUDFLIB

F_LINEWRAP(VALUE, STARTPOS, WIDTH)

Win32

Получая начальную позицию (STARTPOS) в строке(VALUE) и размер (WIDTH), возвращает часть строки VALUE, начиная с позиции STARTPOS, которая занимает пространство в WIDTH символов

Аргументы

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

STARTPOS: целый тип, указывающий на позицию (начинающуюся с нуля) в строке, где находится возвращаемая строка.

WIDTH: целый тип, задающий ширину столбца (печатаемого/отображаемого), которую должна занимать возвращаемая строка

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

Строка из WIDTH (или меньше) символов

Замечания

Рассматривайте строки, передаваемые в F_LINEWRAP, как массивы символов, начинающиеся с индекса 0

Пример

Следующий оператор возвращает строку 'which, taken at the flood': SELECT F_WORDWRAP('There is a tide in the affairs of men which, taken at the flood, leads on to good fortune.', 38, 25) FROM RDB$DATABASE;

FREEUDFLIB

F_LRTRIM(VALUE)

Win32

Удаляет из строки все начальные и конечные пробелы

Аргументы

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

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

Строка с отсутствующими начальными и конечными пробелами

Пример

Следующий оператор возвращает строку 'lean and mean':

SELECT F_LRTRIM(' lean and mean')

FROM RDB$DATABASE;

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

См. также LTRIM, RTRIM

FREEUDFLIB

F_PROPERCASE(VALUE)

Win32

Преобразует строку в "правильный" вид, то есть берет каждое слово и заменяет первый символ на эквивалент в верхнем регистре, переводя каждый другой символ слова в нижний регистр

Аргументы

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

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

Строка, подобная следующей: 'Now Is The Time For All Good Men To Come To The Aid Of The Party'

Замечания

Хотя эта функция и удобна для некоторых задач, она имеет ряд ограничений. В частности, не может правильно трактовать такие имена, как dOliveira, OHalloran или MacDonald

Пример

Следующий оператор вернет строку 'Eric S. Raymond':

SELECT F_PROPERCASE('ERIC S. RAYMOND')

FROM RDB$DATABASE;

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

.I См. также LOWER, UPPER

Функции 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

159

Самый последний вариант библиотеки FreeUDFLib с исправленными функциями BLOB находится на www.ibase.ru.
– Прим. науч. ред.

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

  • Читать дальше
  • 1
  • ...
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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