我有一个 SQL 过程,可以检查列中的某个字符串,例如
SELECT [text_field] FROM [dbo].[tbl_a] (NOLOCK) WHERE [text_field] LIKE '%search%'
但是如何限制此查询以显示结果%search%
而不是 for searching
?
如果我搜索%happy%
但不搜索,这同样适用于其他方式unhappy
我有一个 SQL 过程,可以检查列中的某个字符串,例如
SELECT [text_field] FROM [dbo].[tbl_a] (NOLOCK) WHERE [text_field] LIKE '%search%'
但是如何限制此查询以显示结果%search%
而不是 for searching
?
如果我搜索%happy%
但不搜索,这同样适用于其他方式unhappy
为什么不
SELECT [field] FROM [dbo].[TABLE] (NOLOCK) WHERE [field] = "search"
以下 SQL 语句选择 Country 包含模式“search”的所有客户:Why you don't use this?:
SELECT [text_field] FROM [dbo].[tbl_a] (NOLOCK) WHERE [text_field] = "search"
欲了解更多信息 LIKE
编辑
SELECT [text_field] FROM [dbo].[tbl_a] (NOLOCK) WHERE [text_field] LIKE '%search%' AND [textfield] NOT LIKE '%unhappy%'
我最终使用
SELECT [textfield] FROM [tbl_a] (NOLOCK) WHERE [textfield] like '%[^a-z]search[^a-z]%';
我先查询
WHERE [textfield] like '%search%'
然后我从该结果中创建一个包含“搜索”的所有单词的列表接下来我循环选择的单词,例如“搜索”而不是“研究”