Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
FBUDF | SRIGHT(VALUE, LENGTH) |
Linux, Win32 | Возвращает подстроку для VALUE, являющуюся правой частью строки VALUE длиной LENGTH символов |
Аргументы | Нет |
Возвращаемое значение | VALUE: столбец или выражение, результатом вычисления которого является значение типа строки длиной не более 32 767 байт. LENGTH: константа или выражение типа целого |
Замечания | Эта функция может принимать 32 765 байт, ограничение для символьных строк Firebird |
Пример | Следующий оператор вернет строку 'fox jumps over the lazy dog': SELECT SRIGHT('The quick brown fox jumps over the lazy dog.', 28) AS R_STRING FROM RDB$DATABASE; |
Связанные или похожие функции | См. |
IB_UDF | RPAD(VALUE, LENGTH, IN_CHAR) |
Linux, Win32 | Присоединяет указанный символ IN_CHAR К концу входной строки VALUE до тех пор, пока длина результирующей строки не станет равной заданному числу LENGTH |
Аргументы | VALUE: столбец или выражение, результатом вычисления которого является значение типа строки не длиннее, чем (32765 - LENGTH) байт. LENGTH: константа или выражение типа целого. IN CHAR один символ, который используется в качестве символа заполнителя |
Возвращаемое значение | CHAR(n) или VARCHAR(n), где n имеет значение входного аргумента LENGTH |
Замечания | Эта функция может получать и возвращать до 32 765 символов, ограничение на символьные строки Firebird |
Пример | Следующий оператор вернет строку ' Framboise***********': SELECT RPAD ('Framboise', 20, ' * ' ) AS RPADDED_STRING FROM RDB$DATABASE; |
Связанные или похожие функции | См. также LPADO |
IB_UDF | RTRIM(VALUE) |
Linux, Win32 | Удаляет конечные пробелы из входной строки |
Аргументы | VALUE- столбец или выражение, результатом вычисления которого является значение типа строки длиной не более 32 765 байт |
Возвращаемое значение | CHAR(n) или VARCHAR(n) без конечных пробельных символов |
Замечания | Эта функция может принимать 32 765 байт, включая пробельные символы, значение для символьных строк Firebird |
Пример | Следующий фрагмент триггера BEFORE INSERT будет удалять конечные пробелы из входной строки: . . . 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; |