SQLite选择列不包含某些数据的位置

时间:2013-11-11 00:00:22

标签: sql sqlite contain

好吧所以我有一个看起来像这样的表......(使用管道符号来分隔列)

example1 url|0
example2 url|0
example3 url|1
example4 url|1,2
example5 url|1,3,6

我要做的是选择第2列不包含1的所有行。

我不能使用!=因为如果你看起来只有其中一个会返回数据,因为最后2行不等于1.我试着搜索SQLite文档如何编写语句,但我不能找到它。这是我到目前为止所做的。

select * from table_name where table_column_name[something needed here]'1';

2 个答案:

答案 0 :(得分:3)

给“1,2,3”等字符串,你可能需要LIKE关键字。

 select * from table_name where table_column_name NOT LIKE '%1%'

答案 1 :(得分:2)

要匹配由,分隔的列表项,请使用:

 SELECT * FROM table WHERE `,`||column||`,` NOT LIKE '%,1,%';

这将匹配整个项目(即仅1,而不是11,...),无论是在列表的开头,中间还是结尾。