有人有只匹配整个单词的 LIKE
模式吗?
它需要考虑空格、标点符号和字符串的开头/结尾作为单词边界。
我没有使用 SQL 全文搜索,因为它不可用。我认为当 LIKE
应该能够做到这一点时,简单的关键字搜索就没有必要了。但是,如果有人针对 LIKE
模式测试了全文搜索的性能,我将很感兴趣。
编辑:
我已经到了这个阶段,但它与作为单词边界的字符串的开头/结尾不匹配。
where DealTitle like '%[^a-zA-Z]pit[^a-zA-Z]%'
我希望它在句子或单个单词中匹配“pit”而不是“spit”。
例如DealTitle
可能包含“绝望的深渊”或“坑你的智慧”或“一个坑”或“一个坑”。或“坑!”或者只是“坑”。
最佳答案
全文索引就是答案。
可怜的表弟替代方案是
'.' + column + '.' LIKE '%[^a-z]pit[^a-z]%'
仅供引用,除非您使用 _CS 排序规则,否则不需要 a-zA-Z
关于sql - 使用 SQL Server LIKE 模式搜索 “whole word match”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5444300/