我的表中有Phone_number列,其中插入了多个带有字符值的数字(例如(123).254,5674)。我需要比较每个不包含字符串的值,并且需要删除重复的值。 列值='(245)289.4321,(897)201-7210,(897)2017210 ,8964253712' 我需要删除重复项,只需要不同的值。在此先感谢您的帮助
答案 0 :(得分:0)
这应该有效:
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