选择like语句的反转

时间:2017-06-21 20:05:50

标签: sql sql-server sql-server-2008

我想知道如何从数据库中选择记录,以查看项目与某个类似语句不匹配的位置。该声明不起作用,但它将表明我需要的内容。

声明:

Select top 1000 * 
from TableName 
where Column7 = 'ColumnValueImWatching'
      and idx6 != like 'Keyword%'
order by ColumnthatIndicatesMostRecentRecords desc

如何构造like语句来检索我需要的内容?在挑出这些记录时,我绝对需要使用“关键字%”。

2 个答案:

答案 0 :(得分:1)

否定类似使用操作符 NOT 的输出,并将其放置在之前,就像修改后的代码一样。

Select top 1000 * 
from TableName 
where Column7 = 'ColumnValueImWatching'
      and idx6 NOT like 'Keyword%'
order by ColumnthatIndicatesMostRecentRecords desc

答案 1 :(得分:1)

你应该使用NOT LIKE:

and idx6 not like 'Keyword%'

但您还应该决定如何处理空值,因此您可能必须使用它:

and (
  idx6 not like 'Keyword%'
  or idx6 is null
)

因为null既不是like 'Keyword%'也不是not like 'Keyword%'