首页 > 解决方案 > 查询以返回具有重复出现的字符串/数字的所有记录

问题描述

我正在寻求帮助,以查找由于输入管理不善而在属性中重复出现的字符串/数字的记录。例如,该表将类似于以下内容:

ID|stuff
1 | 23 jackson jackson st
2 | 89 jackson st
3 | 1 1 jackson st
4 | 66 jackson st

我希望返回如下所示:

ID|stuff
1 | 23 jackson jackson st
3 | 1 1 jackson st

请注意,在上面的示例中,'s' 不会导致它返回 id 2,即使它在 jackSon 和 St.

任何帮助将不胜感激,谢谢。

标签: sqloracle

解决方案


您可以在 Oracle 正则表达式中使用反向引用。我认为这可以满足您的要求:

select *
from t
where regexp_like(' ' || stuff, ' ([^ ]+) .*\1');

是一个 db<>fiddle。


推荐阅读