Используйте этот WHERE
предикат
where regexp_like(stuff, '(^|\W)(\w+)($|\W).*\2')
Обратите внимание, что начальная и начальная группы (^|\W)
и ($|\W)
означают начало / конец строки или , не являющийся символом слова Разграничит вторую группу - первый экземпляр дублированного слова.
Вторая группа определяется как (\w+)
один или несколько словосочетаний .
Вы можете альтернативно использовать \s
(пробел) вместо \W
- см. здесь для получения дополнительной информации.
Здесь примеры данных, возвращаемых этим регулярным выражением, также относятся к разделителям, не содержащим слов.
Вы также не должны недооценивать вкладки и другие мелочи, которые простое решение игнорирует .
23 jackson jackson st
1 1 jackson st
68 jackson.st.jackson
См. также этот ответ с похожим топи c.