powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Поиск подстроки в строке
5 сообщений из 5, страница 1 из 1
Поиск подстроки в строке
    #39273478
yurza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Появилась такая проблема нужно в строке найти позицию слова что-то типа INSTR только найти нужно полное совпадения слова т.е.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
select *
 from
(
select 'фывфывф вфыв пункт выфвыфв' r from dual
union all
select 'выфвфы подпункт' r from dual
union all
select 'пункт вфывфывфы' r from dual
union all
select 'пункт подпункт' r from dual
union all
select 'вфывыфвфыв пункт' r from dual
)



INSTR Находит слову пункт во всех строках но ведь в 2 строке 'выфвфы подпункт' слово 'подпункт’. Как один из способов можно конечно проверять, если буквы перед словом «пункт» и игнорировать если есть. Но может как то по другому можно?
...
Рейтинг: 0 / 0
Поиск подстроки в строке
    #39273490
!Z!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
!Z!
Гость
yurza,

regexp_instr спасет отца русского поиска.
Так же проверяй перед и после поисковым словом пробелы и стоит ли оно в начале или в конце строки.
...
Рейтинг: 0 / 0
Поиск подстроки в строке
    #39273555
Maxifly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurza,

Если точно известно, что знаков препинания нет, то можно вот так:
instr(' '||r||' ', ' пункт ')
...
Рейтинг: 0 / 0
Поиск подстроки в строке
    #39273602
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
теоретически можно проверить instr-1 й символ на разделители и instr + length(pattern),

но, наверное это очень извратно и проще регэксп
...
Рейтинг: 0 / 0
Поиск подстроки в строке
    #39273681
Maxifly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда-то давно решали задачу что есть разделители - пришли к выводу, что это то что в UPPER и LOWER - один и тот же символ.
Можно наверное, прогоняя строку через UPPER, LOWER и translate превратить все разделители в пробелы а потом уже искать ' подстрока '
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Поиск подстроки в строке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]