Подстрока регулярного выражения оракула и регулярное выражение заменяют - PullRequest
0 голосов
/ 14 ноября 2018

В моей таблице есть столбец Phone_number, в который вставлено несколько чисел с символьными значениями (например, (123) .254,5674).Мне нужно сравнить каждое значение без символьной строки и необходимо удалить повторяющиеся значения.Значение столбца = '(245) 289.4321, (897) 201-7210, (897) 2017210 , 8964253712' Мне нужно удалить дубликаты и нужны только отдельные значения.Заранее спасибо за помощь

1 Ответ

0 голосов
/ 14 ноября 2018

Это должно работать:

with tmp_tbl as
(select '(245)289.4321,(897)201-7210,(897)2017210,8964253712' phone_numbers  from dual)
select distinct
  regexp_replace((regexp_substr(tmp_tbl.phone_numbers,'[^,]+', 1, level)),'\D','') phone_number
from 
  tmp_tbl
connect by
  regexp_substr(tmp_tbl.phone_numbers,'[^,]+', 1, level) is not null

Результат:

PHONE_NUMBER

8964253712

2452894321

8972017210

...