sql - 查询以返回具有重复出现的字符串/数字的所有记录
问题描述
我正在寻求帮助,以查找由于输入管理不善而在属性中重复出现的字符串/数字的记录。例如,该表将类似于以下内容:
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.
任何帮助将不胜感激,谢谢。
解决方案
您可以在 Oracle 正则表达式中使用反向引用。我认为这可以满足您的要求:
select *
from t
where regexp_like(' ' || stuff, ' ([^ ]+) .*\1');
这是一个 db<>fiddle。
推荐阅读
- netty - 场景中的模式验证
- java - Mockito 错误为 org.mockito.exceptions.misusing.WrongTypeOfReturnValue 在单位案例
- ios - NSDateFormatter 从 iPadOS 13 到 14 的输出差异
- vaticle-typedb - 如何编写一个在两个日期之间查找属性的 Graql 查询?
- bash - 如何使用 json 数据在 curl 中添加断线?
- java - 如何根据收到的参数使用 JPA 创建具有分页结果的自定义动态查询
- react-native - 在 React Native 中选择正常的答案后更改边框颜色?
- python - 如何使用 Python 对该列表进行排序
- r - 是否可以创建一个自渲染的 Rmarkdown 文档?
- stackdriver - Google Cloud Function 日志显示信息日志类型的错误图标