我有一个sqlite3查询,如:
SELECT word FROM table WHERE word NOT LIKE '%a%';
这将选择单词中不出现“ a”的所有单词。这使我可以完美地工作。问题是,如果我想进一步限制结果,使其在单词中的任何地方都不包含“ b”。我在想像这样的东西。
SELECT word FROM table WHERE word NOT IN ('%a%', '%b%', '%z%');
这显然行不通,但这是个主意。AND我试图避免仅添加一个子句:
AND
SELECT word FROM table WHERE word NOT LIKE '%a%' AND NOT LIKE '%b%';
如果这是唯一的选择,那么我将不得不使用它,但是我希望有其他选择。
如果您使用Sqlite的REGEXP支持(有关如何执行regexp python和sqlite的问题,请参见问题的答案),则可以在一个子句中轻松完成此操作:
SELECT word FROM table WHERE word NOT REGEXP '[abc]';