SQL 识别模式是否在文本字段中重复出现的查询

SQL Query that identifies if a pattern recurs in a text field

我正在尝试对我创建的日语词典数据库进行查询,该数据库识别重复的单词,例如 ニコニコ (niko niko)、ピカピカ (pika pika) 等单词。虽然我知道该怎么做 LIKE %% 查询,我不确定如何让它定义一个部分的模式并查看另一部分是否匹配它。

参数:

奖励: 如果有办法 运行 直接搜索 utf8 而不是 utf8_bin,那将有助于选择一些额外的匹配项(例如 つれづれ tsure dure)。词条列上有一个 UNIQUE 索引,需要 utf8_bin 排序规则才能正确执行索引以进行正常操作。

数据和结果示例
根据 Strawberry 的建议添加

id | headword
=============
 1 | たべる
 2 | あらわれる
 3 | ばかばかしい
 4 | ニコニコ
 5 | じゅんびする
 6 | ぴかぴか
 7 | する
 8 | つれづれ
 9 | ひとびと
10 | ひと

期望的结果将 return ids 46;最佳结果也将 return 89.

在 PHP 中,这就是您要查找的内容:preg_match('/^(..)$/u', 'ニコニコ') 将是 true

u 限定符表示字符是 utf8。
.. 找到任意 2 个字符。
</code> 是对 <code>(..) 的反向引用,因此匹配重复项。
^$ 'anchor' 目标字符串开头和结尾的正则表达式。
'ニコニコ' 只是测试用例之一。

所以,从头开始,找到2个utf8字符,确保它们立即重复,后面没有其他内容。