提问人:Aldan Creo 提问时间:8/4/2021 最后编辑:Aldan Creo 更新时间:12/14/2021 访问量:229
SQLite FTS5 MATCH 查询中的一元 NOT
Unary NOT in SQLite FTS5 MATCH query
问:
SQLite FTS5 文档说支持搜索查询,但看起来不支持一元运算符。SELECT ... WHERE MATCH '<query1> NOT <query2>'
NOT
例如,如果我想搜索所有不匹配的内容,则不能使用.我必须使用 ,这是完全不同的东西(FTS5 模块永远不会看到运算符,因为它在引号之外)。只有引号内的文本是搜索查询。<query>
MATCH 'NOT <query>'
NOT MATCH '<query>'
NOT
我需要找到一种方法在搜索查询中使用一元运算符。我不能在外面使用它,因为我只能控制搜索查询文本,而不能控制 SQL 语句的其余部分。NOT
我想到的一种可能方法是找到一个与任何内容匹配的搜索查询,然后执行.但是,我没有找到匹配搜索查询中所有内容的方法。MATCH '<match_anything> NOT <query>'
你能想出一种方法在搜索查询中拥有一元 NOT
运算符的行为吗?
答:
0赞
cakyus
12/14/2021
#1
试试这个..
SELECT * FROM docs
WHERE ROWID NOT IN (
SELECT ROWID FROM docs WHERE content MATCH '<query>'
)
评论
0赞
Aldan Creo
12/15/2021
好主意!但是,正如我在最初的问题中所说,我需要找到一种方法在搜索查询中使用一元运算符。在这里,它在外面,所以就我而言,它没有用......但是,在一般情况下,它确实可以作为一种解决方法!NOT
评论