Выбрать главу

. . .

NEW.CHARACTER_COLUMN = RTRIM (NEW.CHARACTER_COLUMN);

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

см. также LTRIM(), F_LRTRIM()

IB_UDF

STRLEN(VALUE)

Linux, Win32

Возвращает длину строки

Аргументы

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

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

Целое число, длина (счетчик) символов в строке

Замечания

Эта функция может принимать 32 765 байт, включая пробельные символы, ограничение для символьных строк Firebird

Пример

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

. . .

DECLARE VARIABLE LEN INTEGER;

. . .

SELECT COL1, COL2, COL3 FROM ATABLE

INTO :VI, :V2, :V3;

LEN = STRLEN(V3);

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

См. также SUBSTRLEN()

IB_UDF

SUBSTR(VALUE, P0S1, P0S2)

Linux, Win32

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

Аргументы

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

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

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

Строка

Замечания

Если вы переносите приложение, написанное для InterBase, имейте в виду, что эта версия SUBSTRO отличается от реализованной в поставляемой Borland библиотеке ib_udf функции SUBSTRO, которая возвращает NULL, если POS2 выходит за пределы входной строки.

Эта функция может принимать 32 765 байт, включая пробельные символы, ограничение для символьных строк Firebird

Пример

Следующий оператор убирает первые три символа у строки COLUMNB и устанавливает ее значение в строку, начинающуюся с позиции 4 и заканчивающуюся позицией 100. Если строка заканчивается до позиции 100, результатом будут все символы от позиции 4 до конца строки:

UPDATE ATABLE

SET COLUMNB = SUBSTR(COLUMNB, 4, 100) WHERE...

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

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

IB_UDF

SUBSTRLEN(VALUE, STARTPOS, LENGTH)

Linux, Win32

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

Аргументы

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

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

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

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

Строка

Замечания

Эта функция может принимать 32 765 байт, включая пробельные символы, ограничение для символьных строк Firebird

Пример

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

UPDATE ATABLE

SET COLUMNB = SUBSTRLEN(COLUMNB, 4, 20)

WHERE...

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

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

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: столбец или выражение, результатом вычисления которого является значение типа строки