当前位置:  开发笔记 > 后端 > 正文

SQL查询字段不包含$ x

如何解决《SQL查询字段不包含$x》经验,为你挑选了2个好方法。

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



1> Vegard Larse..:

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

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

如果您正在搜索字符串,请转到LIKE运算符(但这将很慢):

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

如果你限制它,以便你要搜索的字符串必须以给定的字符串开头,它可以使用索引(如果该字段有索引)并且速度相当快:

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



2> Greg..:

SELECT * FROM table WHERE field1 NOT LIKE '%$x%'; (确保事先正确地转义$ x以避免SQL注入)

编辑:NOT IN做一些不同的事情 - 你的问题并不完全清楚所以选择使用哪一个. LIKE 'xxx%'可以使用索引. LIKE '%xxx'LIKE '%xxx%'不能.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有