你可以在SQL中使用DOES NOT CONTAIN来代替吗?

use*_*195 2 sql full-text-search sql-server-2008

我有一个名为的表logs.lognotes,我想找到一种更快的方法来搜索在注释中没有特定单词或短语的客户.我知道我可以使用"不喜欢",但我的问题是,你可以使用DOES NOT CONTAINS替换不喜欢,以同样的方式使用:

SELECT *
  FROM table
 WHERE CONTAINS (column, ‘searchword’)
Run Code Online (Sandbox Code Playgroud)

stm*_*ter 5

是的,你应该能够使用NOT任何布尔表达式,如在SQL Server文档中提到这里.而且,它看起来像这样:

SELECT *
  FROM table
 WHERE NOT CONTAINS (column, ‘searchword’)
Run Code Online (Sandbox Code Playgroud)

搜索列中不包含"搜索词"的记录.而且,根据

类似'%Query%'的性能与全文搜索CONTAINS查询

此方法应该比使用LIKE通配符更快.