SQL查询字段不包含$ x

我想查找一个SQL查询来查找field1不包含$ x的行。 我怎样才能做到这一点?

这是什么样的领域? IN运算符不能用于单个字段,而是用于子查询或预定义列表中:

-- subquery SELECT a FROM x WHERE xb NOT IN (SELECT b FROM y); -- predefined list SELECT a FROM x WHERE xb NOT IN (1, 2, 3, 6); 

如果你正在search一个string,去LIKE操作符(但是这会很慢):

 -- Finds all rows where a does not contain "text" SELECT * FROM x WHERE xa NOT LIKE '%text%'; 

如果限制它,以便您search的string必须以给定的string开头,则可以使用索引(如果该字段上有索引)并且速度合理:

 -- Finds all rows where a does not start with "text" SELECT * FROM x WHERE xa NOT LIKE 'text%'; 

SELECT * FROM table WHERE field1 NOT LIKE '%$x%'; (请确保您事先避免$ x,以避免SQL注入)

编辑: NOT IN做一些有点不同 – 你的问题是不完全清楚,所以select使用哪一个。 LIKE 'xxx%'可以使用索引。 LIKE '%xxx'LIKE '%xxx%'不能。