ВУЗ:
Составители:
Рубрика:
51
Окончание табл. 4.6
1 2
SUBSTR(исходная
строка, a, [,b])
Возвращает часть исходной строки, начинающуюся со стар-
товой позиции a и имеющую длину b символов. Если a = 0,
это равносильно тому, что a = 1. Если a положительно, воз-
вращаются символы слева направо. Если a отрицательно, то
стартовая позиция определяется отсчетом с конца строки, но
возврат символов идет слева направо! Если b отсутствует, то
по умолчанию возвращаются все символы до конца строки.
Если b меньше 1, то возвращается значение NULL
TRANSLATE(строка
_символов, заме-
няемая_строка, вно-
симая_строка)
Возвращает "строка_символов", в которой все вхождения ка-
ждого символа "заменяемая_строка" замещаются соответст-
вующим символом "вносимая_строка". Функция
TRANSLATE является расширением функции REPLACE.
Если "заменяемая_строка" длиннее, чем "вносимая_строка",
все ее лишние символы удаляются, поскольку для них нет со-
ответствующих символов во "вносимая_строка". "Вноси-
мая_строка" не может быть пустой. Oracle интерпретирует
пустую строку как значение NULL, а если любой аргумент
функции TRANSLATE является NULL, то результат тоже
будет NULL
Кроме того, в работе могут быть использованы такие функции, как
UNISTR, COMPOSE, DECOMPOSE, NLS_INITCAP, NLS_LOWER,
NLSSORT, NLS_UPPER, REGEXP_INSTR, REGEXP_LIKE,
REGEXP_REPLACE, REGEXP_SUBSTR.
Пример работы со строковыми функциями:
set serveroutput on
DECLARE
c1 char(20);
c2 char(40);
BEGIN
c1:=RPAD('qwe', 15, 'xy');
DBMS_OUTPUT.put_line('c1= ' || c1);
c2:=RPAD('приqwe', 40, 'привет');
DBMS_OUTPUT.put_line('c2= ' || c2);
c2:=TRANSLATE(c2, 'привет', '*---*');
DBMS_OUTPUT.put_line('c2 после TRANSLATE = ' || c2);
END;
Результат:
c1= qwexyxyxyxyxyxy
c2= приqweприветприветприветприветприветприв
c2 после TRANSLATE = *--qwe*---**---**---**---**---**---
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »