powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Регулярное выражение в Oracle
3 сообщений из 3, страница 1 из 1
Регулярное выражение в Oracle
    #40068028
Bory_0_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы А и В. В таблице А есть столбец number_house, где номера домов, в таблице В есть столбец full_address, где находится полный адрес. Необходимо найти адреса, где совпал номер дома. По сути это поиск подстроки в строке. В частном случае можно было написать:
Код: plsql
1.
REGEXP_SUBSTR('236012, ОБЛАСТЬ КАЛИНИНГРАДСКАЯ, Г. КАЛИНИНГРАД, УЛ КОМСОМОЛЬСКАЯ, Д12 К. А, ПОМЕЩ 25', '\D12\D')


но как я понимаю нельзя написать:
Код: plsql
1.
REGEXP_SUBSTR(full_address,'\Dnumber_house\D')

, а условие, что впереди и после номера дома не должно быть цифры необходимо, чтобы было меньше ложных срабатываний. Может быть кто-нибудь знает как в таком случае надо писать регулярное выражение?
...
Рейтинг: 0 / 0
Регулярное выражение в Oracle
    #40068034
Maxim Demenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bory_0_0,

Так ?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with b as (
select  '236012, ОБЛАСТЬ КАЛИНИНГРАДСКАЯ, Г. КАЛИНИНГРАД, УЛ КОМСОМОЛЬСКАЯ, Д12 К. А, ПОМЕЩ 25' as full_address from dual union all
select  '236012, ОБЛАСТЬ КАЛИНИНГРАДСКАЯ, Г. КАЛИНИНГРАД, УЛ КОМСОМОЛЬСКАЯ, Д24 К. А, ПОМЕЩ 25' as full_address from dual union all
select  '236012, ОБЛАСТЬ КАЛИНИНГРАДСКАЯ, Г. КАЛИНИНГРАД, УЛ КОМСОМОЛЬСКАЯ, Д35 К. А, ПОМЕЩ 25' as full_address from dual 
),
a as (
select 12 as number_house from dual union all
select 24 as number_house from dual union all
select 112 as number_house from dual
)
select a.*,b.*
from a , b 
where (REGEXP_like(b.full_address,'\D'||a.number_house||'\D'))


Regards

Maxim
...
Рейтинг: 0 / 0
Регулярное выражение в Oracle
    #40068036
Bory_0_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогло! спасибо огромное!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Регулярное выражение в Oracle
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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