我有这串
ABCD1234, XYZ, ABCD1234, ABCD1234C, ABCD1234, abc, abcX, 1234U, 1234
我想要,但我不想 重复 值
ABCD1234, XYZ, ABCD1234C, abc, abcX, 1234U, 1234,
我在正则表达式下面使用
select regexp_replace ( 'ABCD1234, XYZ, ABCD1234, ABCD1234C, ABCD1234, abc, abcX, 1234U, 1234', '([^,]+)(,\1)+', '\1' ) test from dual;
按照http://www.dba- oracle.com/t_extract_comma_delimited_strings_oracle_sql.html的文章进行尝试:
select distinct str from (select regexp_substr ('ABCD1234, XYZ, ABCD1234, ABCD1234C, ABCD1234, abc, abcX, 1234U, 1234', '[^, ]+',1, rownum) str from dual connect by level <= regexp_count ('ABCD1234, XYZ, ABCD1234, ABCD1234C, ABCD1234, abc, abcX, 1234U, 1234', '[^, ]+')) v;
小提琴:http ://sqlfiddle.com/#!4/c858d/5