在SQL中,可以使用"DOES NOT CONTAIN"来替代"not like"吗?

7 浏览
0 Comments

在SQL中,可以使用"DOES NOT CONTAIN"来替代"not like"吗?

我有一张名为 logs.lognotes 的表格,我想寻找一种更快的方式来搜索那些在备注中不包含特定单词或短语的客户。我知道可以使用 "not like",但我的问题是,你能否像使用 SELECT * FROM table WHERE CONTAINS(column, 'searchword') 这样的方式一样,使用 DOES NOT CONTAINS 来替代 "not like"?

0
0 Comments

在SQL中,可以使用NOT关键字来对任何布尔表达式进行否定,如SQL Server文档所述。可以使用NOT CONTAINS来查询不包含指定关键词的记录,示例如下:

SELECT *
  FROM table
 WHERE NOT CONTAINS (column, 'searchword')

根据Performance of like '%Query%' vs full text search CONTAINS query中的说明,使用NOT CONTAINS方法比使用带通配符的LIKE更快。

0
0 Comments

在使用SQL查询语句时,我们通常会使用"not like"来实现不包含某个特定值的筛选条件。然而,有时候我们可能会遇到一些问题,例如在某个表中的列没有进行全文索引时,"not like"的效果可能不尽人意。

在这种情况下,我们可以使用"does not contain"来替代"not like"。具体实现方法如下:

select * from tablename where not(columnname like '%value%')

通过以上查询语句,我们可以实现不包含特定值的筛选条件。这种方法可以解决因为表中的列没有进行全文索引而无法使用"not like"的问题。

总结起来,当我们在使用SQL查询语句时想要实现不包含某个特定值的筛选条件,但是表中的列没有进行全文索引时,我们可以使用"does not contain"来替代"not like"。以上的查询语句可以帮助我们实现这一目的。

0