我想查找SQL查询来查找field1不包含$ x的行。我怎样才能做到这一点?
回答
这是什么样的领域? 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%';
什么是x.b?你的信件非常混乱。我建议使用表格或字段。 – Whitecat 2015-08-24 21:10:25
SELECT * FROM table WHERE field1 NOT LIKE '%$x%';
(请确保您逃避$ X妥善事先避免SQL注入)
编辑:NOT IN
做的东西有点不同 - 你的问题是不完全清楚,所以挑选使用哪一个。 LIKE 'xxx%'
可以使用索引。 LIKE '%xxx'
或LIKE '%xxx%'
不能。
什么被认为是正确逃脱?我知道用普通字符串你只需要转义一些东西,但LIKE有一些额外的特殊字符。 – 2012-05-16 15:01:47
- 1. Elasticsearch:查询最近不包含字段“X”
- 2. sql查询字符串包含在C#
- 3. Mongoose查询字段不包含子字符串
- 4. 查询包含多个字段的字段
- 5. SQL查询,其中一个字段值不包含空的空间
- 6. 查询哪里有两个字段不包含任何
- 7. Mongoose查询返回不包含特定字段的数组?
- 8. INSERT INTO查询不能包含多值字段
- 9. SQL需要返回包含指定字母的每个字段的查询
- 10. 由于包含和不包含字段的表的数据集,在表中找不到字段x
- 11. SQL查询时字段不解决
- 12. MySql查询包含字段中的字符串
- 13. sql查询;总和字段
- 14. SQL Server查询XML字段
- 15. 检查字段是否包含SQL中的特殊字符
- 16. LINQ与多个SQL查询中包含字符串
- 17. 字符串core.logic查询包含
- 18. SQL查询从statemant中包含什么
- 19. VBA包含SQL查询标题
- 20. SQL查询来计算包含
- 21. SQL Query查询包含“%”的行
- 22. SQL查询中包含if/else语句
- 23. 在函数中包含sql查询
- 24. 在SQL查询中包含TOTAL行
- 25. SQL查询与包含和排除
- 26. 在SQL查询中包含表名
- 27. SELECT查询字符串包含'%'字符
- 28. Oracle查询查找字符串不包含字符
- 29. SQL查询字段内容包含以PHRASE开头的整个单词
- 30. 查询SQL字段是否包含多个值中的任何一个
我可以使用C ONTAINS()函数(sql)进行相同的检查? – Kate 2012-06-14 10:10:10