Строки в Оracle нумеруются с 1, а не с 0, как в некоторых изысканных языках.
Нижеприведенный запрос демонстрирует работу с некоторыми строковыми функциями. Для запроса “из ниоткуда” используется таблица DUAL, которая всегда есть в Oracle и всегда имеет единственную запись:
select substr('wqeqwe', 2, 3), -- подстрока, начиная со 2ой позиции 3 символа
substr('wqeqwe21', 3), -- подстрока, начиная со 3ой позиции до конца
substr('wqeqwe11', -5, 3), -- подстрока, начиная с 5ой с конца позиции 3 символа
substr('wqeqwe11', -4), -- подстрока, начиная с 4ой с конца позиции до конца
instr('abcdefcdr', 'cd'), -- позиция первого вхождения подстроки 'cd' в строку 'abcdefcdr'
instr('abcdef', 'cdr'), -- позиция первого вхождения отсутствующей подстроки 'cdr' в строку 'abcdef' принимается за 0
instr('abcdefcdr', 'cd', 5), -- позиция первого вхождения подстроки 'cd' в строку 'abcdefcdr' (поиск начинается с 5ой позиции)
replace('QRWTERTYRTY', 'RT', '1'), -- замена подстрок 'RT' на подстроки '1'