我有一个问题,mysql选择使用“不喜欢”的条件。表中有15k条记录。 3k记录的列col1中的值为'test'。
此选择正常:
select
*
from
`table`
where
`col1` like 'test'
选择了3000行。这是正确的。
但如果我尝试这个选择:
select
*
from
`table`
where
`col1` not like 'test'
我期待12000行时选择了0行。
我会对任何想法感激不尽?
答案 0 :(得分:5)
所以我解决了。问题出在数据中,而不是请求中。我没有意识到not like
条件对NULL
值不起作用。
答案 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%'