0
如何在带有FTS5表的SQLite3数据库中搜索(价格)范围?如何用FTS5和MATCH查找记录?
这是一个非常简化的示例表:
CREATE VIRTUAL TABLE fruits USING fts5 (id, name, price);
INSERT INTO fruits (id,name,price) VALUES (1, 'Apple with A', 5);
INSERT INTO fruits (id,name,price) VALUES (2, 'Pineapple with B', 10);
INSERT INTO fruits (id,name,price) VALUES (3, 'Cucumber with C', 20);
INSERT INTO fruits (id,name,price) VALUES (4, 'Melon with D', 25);
INSERT INTO fruits (id,name,price) VALUES (5, 'Kiwi with E', 30);
INSERT INTO fruits (id,name,price) VALUES (6, 'Cucumber with F', 35);
INSERT INTO fruits (id,name,price) VALUES (7, 'Cucumber with G', 40);
下面的命令返回预期的两个记录3和7黄瓜:
SELECT * FROM fruits WHERE fruits MATCH 'name:Cucumber AND (price:20 OR price:40)';
我如何搜索在价格黄瓜范围20到40(包括上面例子中的记录6)?如果我有
SELECT * FROM fruits WHERE fruits MATCH 'name:Cucumber AND (price: BETWEEN 20 AND 40)';
或
SELECT * FROM fruits WHERE fruits MATCH 'name:Cucumber AND (price: BETWEEN 19 AND 41)';
试试我根本拿不出结果(或错误信息)。在一个查询中是否可以使用MATCH和BETWEEN?
而且除了: 为什么命令
SELECT * FROM fruits WHERE fruits MATCH 'name:C';
返回只有一个记录(ID:3)和不是3,6和7中,假设在 '黄瓜' 与c会被发现不仅C中'与C'?