oracle正则表达式子串和正则表达式替换
oracle regular expression sub string and regular expression replace
我的 table 中有 Phone_number 列,其中插入了多个数字和字符值(例如(123).254,5674)。我需要比较没有字符串的每个值,并且需要删除重复值。
列值='(245)289.4321,(897)201-7210,(897)2017210,8964253712'
我需要删除重复项并且只需要不同的值。提前感谢您的帮助
这应该有效:
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
我的 table 中有 Phone_number 列,其中插入了多个数字和字符值(例如(123).254,5674)。我需要比较没有字符串的每个值,并且需要删除重复值。 列值='(245)289.4321,(897)201-7210,(897)2017210,8964253712' 我需要删除重复项并且只需要不同的值。提前感谢您的帮助
这应该有效:
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