mysql不喜欢不起作用

时间:2014-01-23 11:14:13

标签: mysql select sql-like

我有一个问题,mysql选择使用“不喜欢”的条件。表中有15k条记录。 3k记录的列col1中的值为'test'。

此选择正常:

select 
    *
from
    `table`
where
    `col1` like 'test'

选择了3000行。这是正确的。

但如果我尝试这个选择:

select
   *
from
   `table`
where
   `col1` not like 'test'

我期待12000行时选择了0行。

我会对任何想法感激不尽?

6 个答案:

答案 0 :(得分:5)

所以我解决了。问题出在数据中,而不是请求中。我没有意识到not like条件对NULL值不起作用。

http://sqlfiddle.com/#!2/17270/2

答案 1 :(得分:2)

如果您正在查询中进行精确比较,则可以使用NOT EQUAL

select
   *
from
   `table`
where
   `col1` != 'test'

答案 2 :(得分:2)

试试这个

select * from table where col1 NOT LIKE '%test%';

答案 3 :(得分:1)

所以我用以下方法解决了我的问题:

where ifnull(column,'') not like 'value'

答案 4 :(得分:0)

试试这个

SHOW TABLES WHERE col1 NOT LIKE '%test%'

答案 5 :(得分:0)

可能缺少%

select
   *
from
   `table`
where
   `col1` not like '%test%'

不用`

尝试
select
   *
from
   table
where
   col1 not like '%test%'