sql - 使用 SQL Server LIKE 模式搜索 “whole word match”

标签 sql sql-server

有人有只匹配整个单词的 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/

相关文章:

MySQL - 根据相同日期条目删除重复项

mysql - 错误代码 : 1215. 无法添加外键约束

SQL Server : Howto get foreign key reference from information_schema?

sql - 基于服务日期的 JOIN 表

sql - Oracle PL SQL : using labels to get out of for loops

sql - 数组 (UUID[ ]) 是否打破 1NF?

sql - Yii2innerJoin()

sql - 哪里都不是空的

c# - 将值插入 Database.mdf C#

sql-server - SQL Server : Database stuck in "Restoring" state