有没有人LIKE只有匹配整个单词的模式?
它需要将空格,标点符号和字符串的开头/结尾作为单词边界进行说明.
我没有使用SQL全文搜索,因为它不可用.我不认为有必要进行简单的关键字搜索LIKE才能做到这一点.但是,如果有人测试了针对LIKE模式的全文搜索性能,我将有兴趣听到.
我得到了这个阶段,但它不匹配字符串的开头/结尾作为单词边界.
where DealTitle like '%[^a-zA-Z]pit[^a-zA-Z]%'
Run Code Online (Sandbox Code Playgroud)
我希望这个匹配"坑"而不是"吐"在一个句子中或作为一个单词.
例如,DealTitle可能包含"绝望的坑"或"陷入困境"或"坑"或"坑".或"坑!" 或者只是"坑".
Ric*_*iwi 41
全文索引就是答案.
可怜的堂兄替代品是
'.' + column + '.' LIKE '%[^a-z]pit[^a-z]%'
Run Code Online (Sandbox Code Playgroud)
仅供参考,除非您使用_CS校对,否则不需要a-zA-Z
小智 7
您可以使用以下条件作为空格分隔符:
(' '+YOUR_FIELD_NAME+' ') like '% doc %'
Run Code Online (Sandbox Code Playgroud)
它比其他解决方案运行得更快更好。所以在你的情况下,它可以很好地与“绝望的深渊”或“坑你的智慧”或“一个坑”或“一个坑”配合使用。或者只是“pit”,但不适用于“pit!”。
小智 5
我认为推荐的模式排除了开头或结尾没有任何字符的单词。我会使用以下附加标准。
where DealTitle like '%[^a-z]pit[^a-z]%' OR
DealTitle like 'pit[^a-z]%' OR
DealTitle like '%[^a-z]pit'
Run Code Online (Sandbox Code Playgroud)
我希望它对你们有帮助!
| 归档时间: |
|
| 查看次数: |
28983 次 |
| 最近记录: |