首页 MsSql sql – 如何在Oracle中使用regex从逗号分隔列表中删除重复项,但我不想要重复值?

sql – 如何在Oracle中使用regex从逗号分隔列表中删除重复项,但我不想要重复值?

参见英文答案 How to remove duplicates from space separated list by Oracle regexp_replace? 3个 How to remove duplicates from comma separated list by regexp_

参见英文答案 >
How to remove duplicates from space separated list by Oracle regexp_replace? 3个

>
How to remove duplicates from comma separated list by regexp_replace in Oracle?2个

我有这个字符串

ABCD1234,XYZ,ABCD1234,ABCD1234C,abc,abcX,1234U,1234

我想要,但我不想要重复值

ABCD1234,1234,

我正在使用下面的正则表达式

select regexp_replace (
    'ABCD1234,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,'[^,]+',1,rownum) str 
from dual 
connect by level <= regexp_count ('ABCD1234,]+')) v;

小提琴:http://sqlfiddle.com/#!4/c858d/5

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/mssql/20200708/5159.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部