检测连续的重复字符串或单词

时间:2016-11-08 09:37:57

标签: sql oracle

我想知道如何连续检测重复的单词。这是为了确保我们的数据库中有干净的数据。

例如见下文

Name                            count
James James McCarthy            1
Donald Hughes Hughes            1

我希望结果像

Name                     count
James McCarthy            1
Donald Hughes             1 

使用Oracle SQL是否有解决方案?

1 个答案:

答案 0 :(得分:1)

对于相邻的单词

select  1
from    dual
where   regexp_like ('John John Doe','(^|\s)(\S+)\s+\2(\s|$)')
;

select  case when regexp_like ('John John Doe','(^|\s)(\S+)\s+\2(\s|$)') then 'Y' end as adj_duplicate
from    dual
;