需要了解给定代码

时间:2017-06-07 18:05:34

标签: sql regex oracle

我通过oracle代码找到了这段代码:

查询1

SELECT RTRIM (REGEXP_REPLACE ('ABC,CDE,ABC','([^,]*)(,\1)+($|,)','\1\3'),',') FROM DUAL;

输出1

ABC,CDE,ABC

查询2

SELECT RTRIM (REGEXP_REPLACE ('ABC,ABC,CDE','([^,]*)(,\1)+($|,)','\1\3'),',') FROM DUAL;

输出2

ABC,CDE

查询3

SELECT RTRIM (REGEXP_REPLACE ('ABC,ABC,CDE,CDE,ABC,CDE','([^,]*)(,\1)+($|,)','\1\3'),',') FROM DUAL;

输出3

ABC,CDE,ABC,CDE

虽然我知道这个regexp_replace正在做什么,但是我需要了解这个regexp_replace一步一步做什么以及每个关键词的意思。我能够找到单个语法部分的用法,但不能解密它与组合。

此外,如果有任何网站/书籍可供学习regexp_replace函数的复杂用法,那将会很有帮助。

0 个答案:

没有答案