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() |