Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
Строковые и символьные функции
IB_UDF | ASCII_CHAR(VALUE) |
Linux, Win32 | Возвращает символ ASCII, соответствующий переданному ей десятичному значению |
Аргументы | VALUE является столбцом, константой или выражением типа SMALLINT или INTEGER |
Возвращаемое значение | Однобайтовый печатный или непечатный символ |
Пример | Следующий оператор добавит в столбец символ перевода строки и возврата каретки для каждой строки внешней таблицы: UPDATE EXT_FILE SET EOL = ASCII_CHAR(13) || ASCII_CHAR(10); |
IB_UDF | ASCII_VAL(VALUE) |
Linux, Win32 | Возвращает значение ASCII, соответствующее переданному |
Аргументы | VALUE является столбцом, константой или выражением типа CHAR |
Возвращаемое значение | Целое десятичное значение ASCII |
Пример | SELECT ASCII_VAL('&') AS ASC_NUM FROM RDB$DATABASE; |
IB_UDF | LOWER(VALUE) |
Linux, Win32 | Возвращает входную строку в виде символов в нижнем регистре. Работает только с символами ASCII |
Аргументы | VALUE является столбцом или выражением, результатом вычисления которого является значение типа строки ASCII длиной 32 765 байт или меньше |
Возвращаемое значение | CHAR(n) или VARCHAR(n) того же размера, что и входная строка |
Замечания | Эта функция может получать и возвращать до 32 767 символов, ограничение на символьные строки Firebird |
Пример | Следующий оператор вернет строку 'come and sit at my table': SELECT LOWER('Come and sit at MY TABLE') AS L_STRING FROM RDB$DATABASE; |
IB_UDF | LPAD(VALUE, LENGTH, IN_CHAR) |
Linux, Win32 | Присоединяет указанный символ IN CHAR к началу входной строки VALUE до тех пор, пока длина результирующей строки не станет равной заданному числу LENGTH |
Аргументы | VALUE: столбец или выражение, результатом вычисления которого является значение типа строки не длиннее, чем (32767 - LENGTH) байт. LENGTH: константа или выражение типа целого. IN CHAR: один символ, который используется в качестве символа заполнителя |
Возвращаемое значение | CHAR(n) или VARCHAR(n), где n имеет значение входного аргумента LENGTH |
Замечания | Эта функция может получать и возвращать до 32 767 символов, ограничение на символьные строки Firebird |
Пример | Следующий оператор вернет строку ' ##########RHUBARB ': SELECT LPAD('RHUBARB', 17, '#') AS LPADDED_STRING FROM RDB$DATABASE; |
Связанные или похожие функции | См. также RPAD |
IB_UDF | LTRIM(VALUE) |
Linux, Win32 | Удаляет начальные пробелы из входной строки |
Аргументы | VALUE - столбец или выражение, результатом вычисления которого является значение типа строки длиной не более 32 767 байт |
Возвращаемое значение | CHAR(N) или VARCHAR(n) без начальных пробельных символов |
Замечания | Эта функция может принимать 32 765 байт, включая пробельные символы, ограничение для символьных строк Firebird |
Пример | Следующий фрагмент триггера BEFORE INSERT будет удалять начальные пробелы из входной строки: NEW.CHARACTER_COLUMN = LTRIM(NEW.CHARACTER_COLUMN) ; |
Связанные или похожие функции | См. также RTRIM, F_RTRIM, F_LRTRIM |
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; |
Связанные или похожие функции | См. также SUBSTRO , SUBSTRLEN, внутреннюю функцию SUBSTRING |
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 |